jQueryajaxWord格式文档下载.docx
《jQueryajaxWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《jQueryajaxWord格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
async
true)类型:
Boolean
默认设置下,所有请求均为异步请求(也就是说这是默认设置为
true
)。
如果需要发送同步请求,请将此选项设置为
false
。
跨域请求和
dataType:
"
jsonp"
请求不支持同步操作。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
从jQuery1.8开始,jqXHR($.Deferred)中使用
async:
false
已经过时。
您必须使用的success/error/complete的回调选项代替相应的jqXHR对象的方法,比如jqXHR.done()
或者过时的jqXHR.success()
beforeSend类型:
Function(
jqXHR
jqXHR,
PlainObject
settings)
请求发送前的回调函数,用来修改请求发送前jqXHR(在jQuery1.4.x的中,XMLHttpRequest)对象,此功能用来设置自定义HTTP头信息,等等。
该jqXHR和设置对象作为参数传递。
这是一个Ajax事件
在beforeSend函数中返回false将取消这个请求。
从jQuery1.5开始,
beforeSend选项将被访问,不管请求的类型。
cache
true,dataType为"
script"
和"
时默认为false)类型:
如果设置为false,浏览器将不缓存此页面。
设置cache为false将在HEAD和GET请求中正常工作。
它的工作原理是在GET请求参数中附加"
_={timestamp}"
(译者注:
时间戳)。
该参数不是其他请求所必须的,除了在IE8中,当一个POST请求一个已经用GET请求过的URL。
complete类型:
String
textStatus)
请求完成后回调函数(请求success
和
error之后均调用)。
这个回调函数得到2个参数:
jqXHR(在jQuery1.4.x中是XMLHTTPRequest)对象和一个描述请求状态的字符串("
success"
"
notmodified"
nocontent"
,"
error"
timeout"
abort"
或者"
parsererror"
)。
complete设置可以接受一个函数的数组。
每个函数将被依次调用。
contents类型:
{字符串/正则表达式}"
配对的对象,根据给定的内容类型,解析请求的返回结果。
(1.5新增)
contentType
(default:
'
application/x-www-form-urlencoded;
charset=UTF-8'
)Type:
Boolean
or
String
当将数据发送到服务器时,使用该内容类型。
默认值是"
charset=UTF-8"
,适合大多数情况。
如果你明确地传递了一个内容类型(Content-Type)给$.ajax(),那么他总是会发送给服务器(即使没有数据要发送)。
从jQuery1.6开始,你可以传递false来告诉jQuery,没有设置任何内容类型头信息。
注意:
W3C的XMLHttpRequest的规范规定,数据将总是使用UTF-8字符集传递给服务器;
指定其他字符集无法强制浏览器更改编码。
对于跨域请求,内容类型设置为application/x-www-form-urlencoded,multipart/form-data,或
text/plain以外,将触发浏览器发送一个预检OPTIONS请求到服务器。
context类型:
Object
这个对象用于设置Ajax相关回调函数的上下文。
默认情况下,这个上下文是一个ajax请求使用的参数设置对象,($.ajaxSettings合并独傲这个设置,传递给$.ajax)。
比如指定一个DOM元素作为context参数,这样就设置了complete回调函数的上下文为这个DOM元素。
就像这样:
url:
test.html"
context:
document.body
}).done(function(){
$(this).addClass("
done"
);
converters
{"
*text"
window.String,"
texthtml"
true,"
textjson"
jQuery.parseJSON,"
textxml"
jQuery.parseXML})类型:
一个数据类型到数据类型转换器的对象。
每个转换器的值是一个函数,返回经转换后的请求结果。
(
1.5新增)
crossDomain
同域请求为false,跨域请求为true)类型:
如果你想在同一域中强制跨域请求(如JSONP形式),例如,想服务器端重定向到另一个域,那么需要将crossDomain设置为
1.5
新增)
data类型:
或
Array
发送到服务器的数据。
将自动转换为请求字符串格式。
GET请求中将附加在URL后面。
查看processData
选项说明,以禁止此自动转换。
对象必须为"
格式。
如果这个参数是一个数组,jQuery会按照traditional
参数的值,将自动转化为一个同名的多值查询字符串(查看下面的说明)。
愚人码头注:
如{foo:
["
bar1"
"
bar2"
]}转换为'
&
foo=bar1&
foo=bar2'
dataFilter类型:
data,
type)=>
Anything
一个函数被用来处理XMLHttpRequest的原始响应数据。
这是一个预过滤功能,净化响应。
您应该返回安全数据。
提供data和type两个参数:
data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。
dataType
IntelligentGuess(xml,json,script,orhtml))
Type:
从服务器返回你期望的数据类型。
如果没有指定,jQuery将尝试通过MIME类型的响应信息来智能判断(一个XMLMIME类型就被识别为XML,在1.4中JSON将生成一个JavaScript对象,在1.4中script将执行该脚本,其他任何类型会返回一个字符串)。
可用的类型(以及结果作为第一个参数传递给成功回调函数)有:
xml"
返回XML文档,可以通过jQuery处理。
html"
返回纯文本HTML文本;
包含的script标签会在插入DOM时执行。
把响应的结果当作JavaScript执行,并将其当作纯文本返回。
默认情况下会通过在URL中附加查询字符串变量,_=[TIMESTAMP],禁用缓存结果,除非设置了cache参数为true。
在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。
(愚人码头注:
因为将使用DOM的script标签来加载)
json"
把响应的结果当作JSON执行,并返回一个JavaScript对象。
跨域"
请求转换为"
,除非该请求在其请求选项中设置了jsonp:
false。
JSON数据以严格的方式解析;
任何畸形的JSON将被拒绝,并且抛出解析错误信息。
在jQuery1.9中,一个空响应也将被拒绝;
服务器应该返回null或
{}响应代替。
(见json.org的更多信息,正确的JSON格式。
)
以
JSONP
的方式载入JSON数据块。
会自动在所请求的URL最后添加"
?
callback=?
text"
返回纯文本字符串。
多个用空格分割的值:
从jQuery1.5开始,jQuery可以内容类型(Content-Type)头收到并转换一个您需要的数据类型。
例如,如果你想要一个文本响应为XML处理,使用"
数据类型。
您也可以将一个JSONP的请求,以文本形式接受,并用jQuery以XML解析:
jsonptextxml"
同样地可以使用"
jsonpxml"
简写,首先会尝试从jsonp到xml的转换,如果转换失败,就先将jsonp转换成text,然后再由text转换成xml。
error类型:
textStatus,
errorThrown)
请求失败时调用此函数。
有以下三个参数:
jqXHR(在jQuery1.4.x前为XMLHttpRequest)对象、描述发生错误类型的一个字符串和捕获的异常对象。
如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"
,和"
当一个HTTP错误发生时,errorThrown
接收HTTP状态的文本部分,比如:
NotFound"
(没有找到)或者"
InternalServerError."
(服务器内部错误)。
从jQuery1.5开始,在error设置可以接受函数组成的数组。
此处理程序在跨域脚本和JSONP形式的请求时不被调用。
这是一个
AjaxEvent。
global
无论怎么样这个请求将触发全局AJAX事件处理程序。
默认是true
设置为
将不会触发全局AJAX事件,如
ajaxStart
或者
ajaxStop。
这可以用来控制各种
AjaxEvent.
headers
{})类型:
一个额外的"
对映射到请求一起发送。
此设置会在beforeSend
函数调用之前被设置;
因此,请求头中的设置值,会被beforeSend
函数内的设置覆盖。
(1.5
新增)
ifModified
false)类型:
只有上次请求响应改变时,才允许请求成功。
使用HTTP包Last-Modified头信息判断。
默认值是false,忽略HTTP头信息。
在jQuery1.4中,他也会检查服务器指定的'
etag'
来确定数据没有被修改过。
isLocal
取决于当前的位置协议)类型:
允许当前环境被认定为“本地”,(如文件系统),即使jQuery默认情况下不会这么做。
以下协议目前公认为本地:
file,
*-extension,and
widget。
如果isLocal设置需要修改,建议在$.ajaxSetup()方法中这样做一次。
jsonp类型:
在一个JSONP请求中重写回调函数的名字。
这个值用来替代在"
这种GET或POST请求中URL参数里的"
callback"
部分,比如{jsonp:
onJsonPLoad'
}会导致将"
onJsonPLoad=?
传给服务器。
在jQuery1.5,,设置jsonp选项为false,阻止了jQuery从加入"
字符串的URL或试图使用"
=?
转换。
在这种情况下,你也应该明确设置jsonpCallback设置。
例如,
{jsonp:
false,jsonpCallback:
callbackName"
}。
如果你不信任你的Ajax请求的目标,出于安全原因,考虑设置jsonp
属性为false。
jsonpCallback类型:
String,Function
为jsonp请求指定一个回调函数名。
这个值将用来取代jQuery自动生成的随机函数名。
这主要用来让jQuery生成一个独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。
你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。
从jQuery1.5开始,你也可以使用一个函数作为该参数设置,在这种情况下,该函数的返回值就是jsonpCallback的结果。
method
GET'
HTTP请求方法(比如:
POST"
GET"
PUT"
(添加版本:
1.9.0)
mimeType类型:
String一个mime类型用来覆盖XHR的MIME类型。
password类型:
String用于响应HTTP访问认证请求的密码
processData
默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型"
application/x-www-form-urlencoded"
如果要发送DOM树信息或其它不希望转换的信息,请设置为
scriptCharset类型:
仅适用于当"
传输使用时(例如,跨域的"
或dataType选项为"
和"
GET"
类型)。
请求中使用在script标签上设置charset
属性。
通常只在本地和远程的内容编码不同时使用。
statusCode
一组数值的HTTP代码和函数对象,当响应时调用了相应的代码。
例如,如果响应状态是404,将触发以下警报:
statusCode:
404:
function(){
alert("
pagenotfound"
如果请求成功,状态代码对应的函数作为回调的成功相同的参数;
如果在一个错误的结果,他们采取了相同的参数error回调。
success类型:
Object
jqXHR)
请求成功后的回调函数。
这个函数传递3个参数:
从服务器返回的数据,并根据dataType参数进行处理后的数据,一个描述状态的字符串;
还有jqXHR(在jQuery1.4.x前为XMLHttpRequest)对象。
在jQuery1.5,
成功设置可以接受一个函数数组。
这是一个AjaxEvent
successType:
Anything
从服务器返回的数据,并根据dataType参数进行处理后的数据或dataFilter回调函数,如果指定的话;
一个描述状态的字符串;
AjaxEvent
timeout类型:
Number
设置请求超时时间(毫秒)。
此设置将覆盖$.ajaxSetup()
里的全局设置。
超时周期开始于$.ajax
访问成功的那个时间点;
如果几个其他请求都在进步并且浏览器有没有可用的连接,它有可能在被发送前就超时了。
在jQuery1.4.x和前面的版本中,
如果请求超时,XMLHttpRequest对象是处于无效状态;
访问任何对象的成员可能会抛出一个异常。
只有在Firefox3.0+,script和JSONP请求在超时后不能被取消;
该脚本将运行即使超时后到达。
traditional类型:
如果你想要用传统的方式来序列化数据,那么就设置为true。
请参考工具分类下面的jQuery.param
方法.
type
)类型:
String
method选项的别名。
如果你使用jQuery1.9.0之前的版本,你需要使用type选项。
url
当前页面地址)类型:
String发送请求的地址。
username类型:
String用于响应HTTP访问认证请求的用户名
xhr
当可用的ActiveXObject(IE)中,否则为XMLHttpRequest)类型:
Function()
回调创建XMLHttpRequest对象。
当可用时默认为ActiveXObject(IE)中,否则为XMLHttpRequest。
提供覆盖你自己的执行的XMLHttpRequest或增强工厂。
xhrFields类型:
一对“文件名-文件值”组成的映射,用于设定原生的
XHR对象。
例如,如果需要的话,在进行跨域请求时,你可以用它来设置withCredentials为true。
a_cross_domain_url,
xhrFields:
withCredentials:
true
在jQuery1.5中,
withCredentials属性不会传递给原生的XHR从而对于需要使用此属性的CORS请求,则只能忽略这个属性。
出于这个原因,我们建议您使用jQuery1.5.1+,如果您需要使用它。
jQuery发送的所有Ajax请求,内部都会通过调用
$.ajax()
函数来实现。
通常没有必要直接调用这个函数,可以使用几个已经封装的简便方法,如$.get()和.load()。
如果你需要用到那些不常见的选项,那么,
$.ajax()使用起来更灵活。
在简单地说,
$.ajax()函数可以不带参数调用:
$.ajax();
所有的选项都可以通过$.ajaxSetup()
函数来全局设置
这个例子中,不使用选项,加载当前页面的内容,但其结果没用的。
若要使用结果,我们可以实现的回调功能之一。
jqXHR对象
从jQuery1.5开始,$.ajax()
返回XMLHttpRequest(jqXHR)对象,该对象是浏览器的原生的XMLHttpRequest对象的一个超集。
例如,它包含responseText和responseXML属性,以及一个getResponseHeader()方法。
当传输机制不是是XMLHttpRequest时(例如,一个JSONP请求脚本,返回一个脚本tag时),jqXHR对象尽可能的模拟原生的XHR功能。
从jQuery1.5.1开始,
jqXHR对象还包含了overrideMimeType方法(它在jQuery1.4.x中是有效的,但是在jQuery1.5中暂时的被移除)。
.overrideMimeType()
方法可能用在beforeSend()的回调函数中,例如,修改响应的Content-Type信息头:
beforeSend:
function(xhr){
xhr.overrideMimeType("
text/plain;
charset=x-user-defined"
}).done(function(data){
if(console&
console.log){
console.log("
Sampleofdata:
data.slice(0,100));
从jQuery1.5开始,$.ajax()返回的jqXHR对象实现了Promise接口,使它拥有了Promise的所有属性,方法和行为。
(见Deferredobject获取更多信息)。
为了让回调函数的名字统一,便于在$.ajax()中使用。
jqXHR也提供.error()
.success()和.complete()方法。
这些方法都带有一个参数,该参数是一个函数,此函数在
$.ajax()请求结束时被调用,并且这个函数接收的参数,与调用
$.ajax()函数时的参数是一致。
这将允许你在一次请求时,对多个回调函数进行赋值,甚至允许你在请求已经完成后,对回调函数进行赋值(如果该请求已经完成,则回调函数会被立刻调用)。
jqXHR.done(function(data,textStatus,jqXHR){});
一个可供选择的success回调选项的构造函数,.done()方法取代了的过时的jqXHR.success()方法。
请参阅deferred.done()的实现细节。
jqXHR.fail(function(jqXHR,textStatus,errorThrown){});
一种可供选择的error回调选项的构造函数,.fail()方法取代了的过时的.error()方法。
请参阅deferred.fail()的实现细节。
jqXHR.always(