精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

jQuery里面的ajax主要发送异步请求,可以在HTML静态页动态获取服务器数据。jQuery里面的ajax函数进行了封装,我们可以非常简单的直接调用即可。下面请看jquery之$.ajax()参数详解.

参数类型说明
acceptsMap

内容类型发送请求头,告诉服务器什么样的响应会接受返回。

如果accepts设置需要修改,推荐在$.ajaxSetup()方法中做一次。

asyncBoolean

默认设置下(默认为true),所有请求均为异步请求。

如果需要发送同步请求,请将此选项设置为false。

跨域请求和dataType: "jsonp"请求不支持同步操作。

注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。

beforeSend()Function

发送请求前可修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。

在beforeSend中如果返回false可以取消本次Ajax请求。

XMLHttpRequest对象是唯一的参数。

function (XMLHttpRequest) {

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

}

在jQuery 1.5,beforeSend选项将被访问,不管请求的类型。

cacheBoolean

默认为true(当dataType为“script”和“jsonp”时,则默认为false)。

设置为false将不会从浏览器缓存中加载请求信息。

complete()Function

请求完成后回调函数(请求成功或失败时均调用)。

参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。

function (XMLHttpRequest, textStatus) {

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

}

在jQuery 1.5,complete设置可以接受一个函数的数组。

contentsMap一个以“{字符串:正则表达式}”配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。
contentTypeString

当发送信息至服务器时,内容编码类型默认为“application/x-www-form-urlencoded”。

该默认值适合大多数应用场合。

contextObject

这个对象用于设置Ajax相关回调函数的上下文。

也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次Ajax请求时传递的options参数)。

ConvertersMap

一个数据类型对数据类型转换器的对象。

每个转换器的值是一个函数,返回相应的转化值。

crossDomain

同域请求为false,跨域请求为true。

如果你想强制跨域请求(如JSONP形式)同一域,设置crossDomain为true。

dataObject/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;

}

dataTypeString

预期服务器返回的数据类型。

如果不指定,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参数

}

globalBoolean

是否触发全局Ajax事件,默认为true。

设置为false将不会触发全局Ajax事件,例如ajaxStart和ajaxStop等可用于控制各种Ajax事件。

HeadersMap

一个额外的“{键:值}”对映射到请求一起发送。

此设置被设置之前beforeSend函数被调用;因此,消息头中的值可以在覆盖beforeSend函数范围内的任何设置。

ifModifiedBoolean

默认:false。

仅在服务器数据改变时获取数据。

使用HTTP包Last-Modified头信息判断。

在jQuery1.4中,它也会检查服务器指定的‘etag’来确定数据没有被修改过。

IsLocalBoolean

允许当前环境被认定为“本地”(如文件系统),即使jQuery默认情况下不会承认它。

以下协议目前工人为本地:file,*-extension,和widget。

如果isLocal设置需要修改,建议在$.ajaxSetup()方法中做。

jsonpString

在一个jsonp请求中重写回调函数的名字。

这个值用来替代在“callback=?”这种GET或POST请求中URL参数里的“callback”部分,比如{jsonp:"onJsonPload"}会导致将“onJsonPload=?”传给服务器。

在jQuery 1.5,设置jsonp选项为false阻止了jQuery从加入“?callback”字符串的URL或试图使用“=?”转换。

在这种情况下,你也应该明确设置jsonpCallback设置。

例如:{jsonp:false, jsonpCallback:"callbackName"}。

jsonpCallbackString/Function

为jsonp请求指定一个回调函数名。

这个值将用来取代jQuery自动生成的随机函数名。

这主要用来让jQuery生成独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。

你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。

在jQuery 1.5,你也可以使用一个函数值该设置,在这种情况下jsonpCallback的值设置到该函数的返回值。

mimeTypeString一个mime类型用来覆盖XHR的MIME类型。
passwordString用于响应HTTP访问认证请求的密码。
processDataBoolean

默认为true。

默认情况下,发送的数据将被装换为对象(从技术角度来讲并非字符串)以配合默认内容类型“application/x-www-form-urlencoded”。

如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

scriptCharsetString

只有当请求时dataType为“jsonp”或者“script”,并且type是GET时才会用于强制修改字符集(charset)。

通常在本地和远程的内容编码不同时使用。

statusCodeMap

一组数值的HTTP代码和函数对象,当响应调用了相应的代码。

例如,如果响应状态是404,将触发以下警报:

$.ajax({

statusCode: {

404: function() {

alert('page not found');

}

}

});

如果请求成功,状态代码函数作为回调的成功相同的参数;如果在一个错误的结果,他们采取了相同的参数error回调。

success()Function

请求成功后的回调函数。

这个函数传递3个参数:

从服务器返回的数据,并根据dataType参数进行处理后的数据,一个描述状态的字符串,还有jqXHR对象。

timeoutNumber

设置请求超时时间(毫秒)。

此设置将覆盖$.ajaxSetup()方法的全局设置。

traditionalBoolean

如果你想要用传统的方式来序列化数据,那么久设置为true。

请参考工具分类下面的jQuery.param方法。

TypeString

请求方式(POST或GET),默认为GET。

注意,其他HTTP请求方法,例如PUT和DELETE也可以使用,但仅部分浏览器支持。

urlString发送请求的地址,默认为当前页地址。
usernameString用于响应HTTP访问认证请求的用户名。
xhrFunction

回调创建XMLHttpRequest对象。

当可用时默认为ActiveXObject(IE)中,否则为XMLHttpRequest。

xhrFieldsMap

一对“文件名-文件值”在本机设置XHR对象。

例如,如果需要的话,你可以用它来设置withCredentials为true的跨域请求。

Tags:jquery ajax