当前位置: 移动技术网 > IT编程>开发语言>Jquery > $.ajax()参数详解

$.ajax()参数详解

2018年10月18日  | 移动技术网IT编程  | 我要评论

esm快递单号查询,炼狱亡灵法师,迷失花垣新闻网

来自于《锋利的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的跨域请求。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网