$.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的跨域请求。 |