$.ajax()参数详解

来自于《锋利的jQuery(第2版)》。
 
参数 类型 说明 accepts Map 内容类型发送请求头,告诉服务器什么样的响应会接受返回。
若是accepts设置须要修改,推荐在$.ajaxSetup()方法中作一次。
async Boolean 默认设置下(默认为true),全部请求均为异步请求。
若是须要发送同步请求,请将此选项设置为false。
跨域请求和dataType: "jsonp"请求不支持同步操做。
注意,同步请求将锁住浏览器,用户其余操做必须等待请求完成才能够执行。
beforeSend() Function 发送请求前可修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。
在beforeSend中若是返回false能够取消本次Ajax请求。
XMLHttpRequest对象是惟一的参数。
function (XMLHttpRequest) {
     this; // 调用本次Ajax请求时传递的options参数
}
在jQuery 1.5,beforeSend选项将被访问,无论请求的类型。
cache Boolean 默认为true(当dataType为“script”和“jsonp”时,则默认为false)。
设置为false将不会从浏览器缓存中加载请求信息。
complete() Function 请求完成后回调函数(请求成功或失败时均调用)。
参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
function (XMLHttpRequest, textStatus) {
     this; // 调用本次Ajax请求时传递的options参数
}
在jQuery 1.5,complete设置能够接受一个函数的数组。
contents Map 一个以“{字符串:正则表达式}”配对的对象,用来肯定jQuery将如何解析响应,给定其内容类型。 contentType String 当发送信息至服务器时,内容编码类型默认为“application/x-www-form-urlencoded”。
该默认值适合大多数应用场合。
context Object 这个对象用于设置Ajax相关回调函数的上下文。
也就是说,让回调函数内this指向这个对象(若是不设定这个参数,那么this就指向调用本次Ajax请求时传递的options参数)。
Converters Map 一个数据类型对数据类型转换器的对象。
每一个转换器的值是一个函数,返回相应的转化值。
crossDomain   同域请求为false,跨域请求为true。
若是你想强制跨域请求(如JSONP形式)同一域,设置crossDomain为true。
data Object/String 发送到服务器的数据。
若是不是字符串,将自动转换为字符串格式。
GET请求中将附加在URL后。
想要防止这种自动转换,能够查看processData选项。
对象必须为Key/Value格式,例如{foo1: "bar1", foo2: "bar2"}转换为&foo1=bar1&foo2=bar2。
若是是数组,jQuery将自动为不一样值对应同一个名称。
例如{foo: ["bar1", "bar2"]}转换为&foo=bar1&foo=bar2。
dataFilter() Function 给Ajax返回的原始数据进行处理的函数。
提供data和type两个参数。
data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。
函数返回的值将由jQuery进一步处理。
function (data, type) {
    // 返回处理后的数据
    return data;
}
dataType String 预期服务器返回的数据类型。
若是不指定,jQuery将自动根据HTTP包MIME信息返回responseXML或responseText,并做为回调函数参数传递。
可用的类型以下:
xml:返回XML文档,可用jQuery处理。
html:返回纯文本HTML信息,包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),全部POST请求都将转为GET请求。
json:返回JSON数据。
jsonp:JSONP格式。使用JSONP形式调用函数时,例如myurl?callback=?,jQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
error() Function 请求失败时被调用的函数。
这个函数有3个参数,即XMLHttpRequest对象、错误信息和捕获的错误对象(可选)。
function (XMLHttpRequest, textStatus, errorThrown) {
    // 一般状况下textStatus和errorThown
    // 只有其中一个包含信息
    this; // 调用本次Ajax请求时传递的options参数
}
global Boolean 是否触发全局Ajax事件,默认为true。
设置为false将不会触发全局Ajax事件,例如ajaxStart和ajaxStop等可用于控制各类Ajax事件。
Headers Map 一个额外的“{键:值}”对映射到请求一块儿发送。
此设置被设置以前beforeSend函数被调用;所以,消息头中的值能够在覆盖beforeSend函数范围内的任何设置。
ifModified Boolean 默认:false。
仅在服务器数据改变时获取数据。
使用HTTP包Last-Modified头信息判断。
在jQuery1.4中,它也会检查服务器指定的‘etag’来肯定数据没有被修改过。
IsLocal Boolean 容许当前环境被认定为“本地”(如文件系统),即便jQuery默认状况下不会认可它。
如下协议目前工人为本地:file,*-extension,和widget。
若是isLocal设置须要修改,建议在$.ajaxSetup()方法中作。
jsonp String 在一个jsonp请求中重写回调函数的名字。
这个值用来替代在“callback=?”这种GET或POST请求中URL参数里的“callback”部分,好比{jsonp:"onJsonPload"}会致使将“onJsonPload=?”传给服务器。
在jQuery 1.5,设置jsonp选项为false阻止了jQuery从加入“?callback”字符串的URL或试图使用“=?”转换。
在这种状况下,你也应该明确设置jsonpCallback设置。
例如:{jsonp:false, jsonpCallback:"callbackName"}。
jsonpCallback String/Function 为jsonp请求指定一个回调函数名。
这个值将用来取代jQuery自动生成的随机函数名。
这主要用来让jQuery生成独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。
你也能够在想让浏览器缓存GET请求的时候,指定这个回调函数名。
在jQuery 1.5,你也能够使用一个函数值该设置,在这种状况下jsonpCallback的值设置到该函数的返回值。
mimeType String 一个mime类型用来覆盖XHR的MIME类型。 password String 用于响应HTTP访问认证请求的密码。 processData Boolean 默认为true。
默认状况下,发送的数据将被装换为对象(从技术角度来说并不是字符串)以配合默认内容类型“application/x-www-form-urlencoded”。
若是要发送DOM树信息或者其余不但愿转换的信息,请设置为false。
scriptCharset String 只有当请求时dataType为“jsonp”或者“script”,而且type是GET时才会用于强制修改字符集(charset)。
一般在本地和远程的内容编码不一样时使用。
statusCode Map 一组数值的HTTP代码和函数对象,当响应调用了相应的代码。
例如,若是响应状态是404,将触发如下警报:
$.ajax({
    statusCode: {
        404: function() {
            alert('page not found');
        }
    }
});
若是请求成功,状态代码函数做为回调的成功相同的参数;若是在一个错误的结果,他们采起了相同的参数error回调。
success() Function 请求成功后的回调函数。
这个函数传递3个参数:
从服务器返回的数据,并根据dataType参数进行处理后的数据,一个描述状态的字符串,还有jqXHR对象。
timeout Number 设置请求超时时间(毫秒)。
此设置将覆盖$.ajaxSetup()方法的全局设置。
traditional Boolean 若是你想要用传统的方式来序列化数据,那么久设置为true。
请参考工具分类下面的jQuery.param方法。
Type String 请求方式(POST或GET),默认为GET。
注意,其余HTTP请求方法,例如PUT和DELETE也能够使用,但仅部分浏览器支持。
url String 发送请求的地址,默认为当前页地址。 username String 用于响应HTTP访问认证请求的用户名。 xhr Function 回调建立XMLHttpRequest对象。
当可用时默认为ActiveXObject(IE)中,不然为XMLHttpRequest。
xhrFields Map 一对“文件名-文件值”在本机设置XHR对象。
例如,若是须要的话,你能够用它来设置withCredentials为true的跨域请求。
转载于猿2048:→《$.ajax()参数详解》php

相关文章
相关标签/搜索