jQuery.ajax()

jQuery的所有Ajax工具最后都会调用jQuery.ajax()函数;
jQuery.ajax()仅接受一个参数:一个选项对象,该对象的属性指定Ajax请求如何执行的很多细节.
jQuery.getScript(url,callback)与以下的jQuery.ajax()的调用等价
jQuery.ajax({
url:url,
type: “get”,
data:null,
dataType:“script”,
success:callback
});
可以通过给jQuery.ajaxSetup()传入一个选项对象来设置任意选项的默认值:
jQuery.ajaxSetup({
timeout:2000, //在两秒后取消所有的Ajax请求
cache:false //通过给URL添加时间戳来禁用浏览器缓存
});
指定的timeout和cache选项会在所有未指定这两个选项的值的Ajax请求中使用(包括jQuery.get(),jQuery.set());
通用选项
jQuery.ajax()中最常用的选项如下

  1. type
    指定HTTP的请求方法.默认值是"get",另一个常用值是"post".
  2. url
    要获取的URL。对于GET请求,data选项会添加到该URL后.对于JSONP请求当cache选项为false时,jQuery可以添加参数到URL中.
  3. data
    添加到URL中(对get请求)或在请求的内容体中(对POST请求)发送的数据.可以是字符串或对象.通常会把对象转化为字符串.
  4. dataType
    指定响应数据的预期类型,以及jQuery处理该数据的方式.合法值
    “text”,“html”,“xml”,“script”,“json”,“jsonp”,
  5. contentType
    指定请求的HTTP Content-type头。默认是"application/x-www-form-urlencoded", 如果将type选项设置为"POST",想发送纯文本或XML文档作为请求体时,需要设置该选项
  6. timeout
    超时时间,单位毫秒.如果设置了该选项,当请求没有在指定超时时间内完成时,请求会取消同事触发error回调,回调中的状态码参数为"timeout".默认时间是0,表示除非请求完成,否则永远不会取消
  7. cache
    对于get请求,如果该选项设置为false,jQuery会添加一个"_="参数到URL中,或替换已经存在的同名参数.该参数的值是当前时间。这个可以基于浏览器的缓存.因为每次请求的URL都不一样
  8. global
    该选项指定jQuery是否应该触发上面描述的Ajax请求过程的事件.默认值是true;设置该选项为false会禁用Ajax相关的所有事件.取名为"global"是因为jQuery通常会全局的触发这些事件,而不是在具体某个对象上.
  9. ifModified:???;

回调

下面的选项指定在Ajax请求的不同阶段调用的函数.
注意:jQuery也会将Ajax请求过程的消息当做事件发送(除非设置了global选项为false);

  1. context:
    该选项指定回调函数在调用时的上下文对象-this
  2. beforeSend:
    该选项指定Ajax请求发送到服务器之前激活的回调函数.
    第一个参数是XMLHttpRequest对象,第二个参数是该请求的选项对象。
    如果该回调函数返回false,Ajax请求会取消, 注意跨域的"script"和"jsonp"
    请求没用使用XMLHttpRequest对象,因此不会触发beforeSend回调
  3. success:
    改选项指定Ajax请求成功完成时调用的回调函数.
    第一个参数是服务器发送的数据;
    第二个参数是jQuery状态码;
    第三个参数是用来发送的XMLHttpRequest对象。
    第一个参数的类型取决于dataType选项或Content-type头信息.
    if(dataType==“xml”) 第一个参数是Document对象.
    else if(dataType “json” || dataType"jsonp")第一个参数是服务器返回的JSON格式响应的解析结果
    else if(dataType==“script”),则响应内容是所加载的文本内容(该脚本已经执行了,因此,在这种情况下可以忽略响应内容)
    else 响应内容直接就是请求资源的文本内容
    第二个参数的状态码通常是"success",但是如果设置了ifModified选项,
    该参数就可能是"notmodified". 在这种情况下,服务器不发送响应并且不定义第1个参数."script"和"jsonp"类型的跨域请求通过script元素而不是XMLHttpRequest执行,因此对于那些请求,不会定义第三个参数
  4. error
    该选项指定Ajax请求不成功时调用的回调函数。
    第一个参数是该请求的XMLHttpRequest对象(如果用的到话).
    第二个参数是jQuery的状态码.
    可能是"error",“timeout”,“parsererror”.
    注意:dataType为"script"的请求在返回无效JavaScript代码时不会触发错误.
    脚本的任何错误都会直接忽略,调用的是success而不是error
  5. complete
    该选项指定Ajax请求完成时激活的回调函数。每一个Ajax请求或者成功时调用success,或者失败时调用error回调.在调用success或error后,jQuery会调用complete回调。传给complete回调的第一个参数是XMLHttpRequest对象,第二个参数则是jQuery的状态码
    搞定收工
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值