首页 > 编程知识 正文

js substr函数用法,js substr和substring的区别

时间:2023-05-03 11:41:43 阅读:23184 作者:768

$.ajax ()方法是jQuery的底层Ajax实现。 其结构如下

$.ajax(options)

此方法只有一个参数,但此对象包含$.ajax ()方法所需的信息,如请求设置和回调函数。 参数以key/value的形式存在,所有参数都是可选的。 一般参数见下表。

1.url

必须将请求发送到String类型参数(默认值为当前地址)的页面。

2.type

它必须是字符串类型的参数,并且请求方法(开机自检或获取)缺省为获取。 也可以使用其他http请求方法,如put和delete,但仅在某些浏览器中受支持。

3.timeout

必须设置Number类型参数的请求超时时间(以毫秒为单位)。 此设置复盖$.ajaxSetup ()方法的全局设置。

4.async

必须是布尔型参数,默认值设置为true,所有请求都是异步请求。 如果需要同步请求,请将此选项设置为false。 请注意,同步请求会锁定浏览器,其他操作在请求完成之前无法执行。

5.cache

必须为布尔型参数,默认值为true。 如果dataType为Script,则默认值为false。 设置为false不会从浏览器缓存中加载请求信息。

6.data

Object或String类型的参数需要发送到服务器的数据。 如果不是字符串,它将自动转换为字符串格式。 get请求将添加到URL之后。 要防止此自动转换,请显示处理数据选项。 对象必须是key/value格式。 例如,{foo1:'bar1',foo2:'bar2'}将转换为foo1=bar1foo2=bar2。 对于数组,JQuery会自动将相同的名称与不同的值对应起来。 例如,{foo:['bar1',' bar2']}将转换为foo=bar1foo=bar2。

7.dataType

String类型的参数,预期服务返回的数据类型。 如果未指定,jQuery将自动基于HTTP包的mine信息返回responseXML或responseText,并作为回调函数参数传递。 可以使用以下类型:

XML :返回XML文档,可以在jQuery中处理。

html :返回纯文本的html信息; 中包含的脚本标记在插入DOM时执行。

脚本:返回纯文本的javascript代码。 除非设置了cache参数,否则不会自动缓存结果。 请注意,对于远程请求,如果不在同一域下,则所有开机自检请求都将转换为get请求。

JSON :返回JSON数据。

jsonp:JSON格式。 以JSONP格式调用函数时,例如myurl? callback=? JQuery会自动显示下一个“? ”。用于执行回调函数的正确函数名称。

text返回纯文本字符串。

8.beforeSend

在发送请求之前,必须具有Function类型的参数,才能修改XMLHttpRequest对象的函数,例如添加自定义HTTP标头。 在beforeSend中返回false可以取消这次的ajax请求。 XMLHttpRequest对象是唯一的参数。

功能(xmlhttprequest ) {

this; //调用这次ajax请求时传递的选项参数

}

9.complete

请求为Function类型的参数,是在请求完成后调用的回调函数。 无论请求成功还是失败,都会调用。 参数:描述XMLHttpRequest对象和成功请求类型的字符串。

功能(xmlhttprequest,文本状态) {

this; //调用这次ajax请求时传递的选项参数

}

10.success

请求为Function类型的参数,在请求成功后调用的回调函数有两个参数。

(1)从服务器返回并根据dataType参数处理的数据。

)2)描述状态的字符串。

功能(数据,文本状态) {

//data可能是xmlDoc、jsonObj、html、文本等

this; //调用这次ajax请求时传递的选项参数

}

11.error

请求为函数类型的参数,请求失败时调用的函数。 此函数有三个参数: XMLHttpRequest对象、错误消息和捕获的错误对象。 ajax事件函数如下:

  function(XMLHttpRequest,textStatus,errorThrown){

    //通常情况下textStatus和errorThrown只有其中一个包含信息

    this;    //调用本次ajax请求时传递的options参数

  }

12.contentType

要求为String类型的参数,当发送信息至服务器时。内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter

要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataTYpe参数。函数返回的值将由jQuery进一步处理。

  function(data,type){

    //返回处理后的数据

    return data;

  }

14.global

要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart和ajaxStop可用于控制各种ajax事件。

15.ifModified

要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

16.jsonp

要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

17.username

要求为String类型的参数,用于响应HTTP访问认证请求的用户。

18.password

要求为String类型的参数,用于响应HTTP访问认证请求的密码。

19.processData

要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲而非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

20.scriptCharset

要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

案例代码:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 $(function(){     $('#send').click(function(){          $.ajax({              type: "GET",              url: "test.json",              data: {username:$("#username").val(), content:$("#content").val()},              dataType: "json",              success: function(data){                          $('#resText').empty();   //清空resText里面的所有内容                          var html = '';                          $.each(data, function(commentIndex, comment){                                html += '<div class="comment"><h6>' + comment['username']                                          + ':</h6><p class="para"' + comment['content']                                          + '</p></div>';                          });                          $('#resText').html(html);                       }          });     }); });

  

知识链接:

1、$.each()函数:$.each()函数不同于jQuery对象的each()方法,它是一个全局函数,不操作jQuery对象。该函数接收两个参数,第1个参数是一个数组或对象,第2个参数是一个回调函数。回调函数拥有两个参数:第1个参数为数组的索引或对象的成员,第2个参数为对应的变量或内容。

  $.each(data,function(commentIndex,comment){

           //doSomething;

      })

 

2、ajaxStart()与ajaxStop():当Ajax请求开始时,会触发ajaxStart()方法的回调函数。当Ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有Ajax请求发生时,就会触发它们。

有时候页面需要加载一些图片,可能速度会比较慢,如果在加载过程中,不给用户提供一些提示和反馈信息,很容易让用户误认为按钮单击无用,使用户对网站失去信息。

此时,我们就需要为网页添加一个提示信息,常用的提示信息是“加载中...”,代码如下:

? 1 <div id="loading">加载中...</div>

当Ajax请求开始时,将此元素显示,用来提示用户Ajax请求正在进行;当Ajax请求结束后,将此元素隐藏。代码如下:

? 1 2 3 4 5 $("#loading").ajaxStart(function(){     $(this).show();   }).ajaxStop(function(){        $(this).hide();    })

 

  


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。