jQuery.ajax( url [, settings ] )返回类型:jqXHR
描述:实施一个异步HTTP(Ajax)请求。
-
增补版本:1.5jQuery.ajax( url [, settings ] )
-
url类型:String一个字符串,包含了请求被发送到的URL。
-
settings类型:PlainObject一个键值对集合,配置了Ajax请求。所有的设置都是可选的。可以利用$.ajaxSetup()来设置默认值。请参阅下面的jQuery.ajax( settings )以了解设置的完整列表。
-
-
增补版本:1.0jQuery.ajax( [settings ] )
-
settings类型:PlainObject配置Ajax请求的键值对集合。所有的设置都是可选的。可以利用$.ajaxSetup()来设置默认值。
-
accepts (默认值:
depends on DataType
)类型:PlainObject一个键值对的集合,把给定的dataType
映射到MIME类型,会在Accept
请求头中发送它。此请求头告诉服务器,它将接受哪种返回的响应。例如,下面定义了自定义的类型mycustomtype
,与请求一起发送:12345678910111213141516$.ajax({
accepts: {
mycustomtype: 'application/x-some-custom-type'
},
// Instructions for how to deserialize a `mycustomtype`
converters: {
'text mycustomtype': function(result) {
// Do Stuff
return newresult;
}
},
// Expect a `mycustomtype` back from server
dataType: 'mycustomtype'
});
converters
中为此类型指定一个互补的项,以使它正确地工作。 -
async (默认值:
true
)类型:Boolean默认情况下,所有的请求都会被异步发送(亦即,此属性默认被设置为true
)。如果你需要同步请求,请把此选择设置为false
。跨域请求以及dataType: "jsonp"
请求,并不支持同步操作。请注意,同步请求可能临时锁住浏览器,在请求被激活的同时,禁用任何操作。自从jQuery 1.8以来,async: false
配合jQXHR的用法($.Deferred
)被淘汰了;你必须使用success、error、complete回调函数选项来代替jqXHR对象的对应的方法,譬如jqXHR.done()
。 -
beforeSend一个请求前回调函数,可以用来在发送请求之前修改jqXHR(在jQuery 1.4.x中,是XMLHTTPRequest)对象。使用此回调函数来设置自定义头,等等。传入jqXHR和setting对象作为参数。它是一个Ajax事件。在
beforeSend
函数中返回false
将撤销请求。自从jQuery 1.5以来,无论请求类型如何,都会调用beforeSend
选项。 -
cache (默认值:对于dataType为“script”或“jsonp”的情况,是
false
,其它都是true
)类型:Boolean如果设置为false
,它将强制浏览器不缓存请求的页面。注意:把cache
设置为false只能在HEAD请求和GET请求中正常工作。它的作用方式是对GET参数追加一个_={timestamp}
。别的请求类型不需要此参数,除了在IE8中,当一个POST请求一个已经用GET请求过的URL。 -
complete当请求完成时要调用的函数(在
success
和error
回调函数执行了之后)。此函数获得两个传入的参数:jqXHR(在jQuery 1.4.x中,是XMLHTTPRequest)对象,以及一个字符 ,分类了请求的状态("success"
、"notmodified"
、"nocontent"
、"error"
、"timeout"
、"abort"
或"parsererror"
)。自从jQuery 1.5以后,complete
设置可以接受一个函数的数组。将依次调用每个函数。这是一个Ajax事件。 -
contents类型:PlainObject一个字符串、正则表达对对象,确定了jQuery将如何解析响应,给定它的内容类型。 (增补版本:1.5)
-
contentType (默认值:
'application/x-www-form-urlencoded; charset=UTF-8'
)如果要把数据发送到服务器,请使用此内容类型。默认是“application/x-www-form-urlencoded; charset=UTF-8”
,它在大多数情况下都很好。如果你对$.ajax()
显式传入内容类型,则它始终会发送到服务器(哪怕没有设置数据)。自从jQuery,你可以传入false
以告诉jQuery不要发送任何数据类型头。注意:W3C XMLHttpRequest规范文档指示字符集始终是UTF-8;指定其它字符集将不会强迫浏览器改变此编码。注意:对于跨域请求,将此内容类型设置为除了application/x-www-form-urlencoded
、multipart/form-data
和text/plain
之外的任何东西,都会触发浏览器对服务器发送一个起飞前OPTIONS请求。 -
context类型:PlainObject此对象将成为所有Ajax相关回调函数的上下文。默认情况下,上下文是一个对象,代表了在调用中使用的Ajax设置(
$.ajaxSettings
合并了传递给$.ajax
的设置)。例如,指定DOM元素为上下文,将制作出针对请求的complete
回调函数的上下文,如下:123456$.ajax({
url: "test.html",
context: document.body
}).done(function() {
$( this ).addClass( "done" );
});
-
converters (默认值:
{"* text": window.String, "text html": true, "text json": jQuery.parseJSON, "text xml": jQuery.parseXML}
)类型:PlainObject一个对象,包含了内容类型到内容类型的转换器。每种转换器的值是一个函数,返回响应的转换值。 (增补版本:1.5) -
crossDomain (默认值: 对于同源请求是
false
,对于跨域请求是true
)类型:Boolean -
data发送到服务器的数据。如果还没有字符串的话,它会转换到一个请求字符串。针对GET请求,它是追加到URL后面。请参阅
processData
选项以防止此自动处理。对象必须是键值对。如果值是一个数组,jQuery会基于traditional
设置(在下面有所描述),用相同的键序列化多个值。 -
dataFilter一个函数,用来处理XMLHttpRequest的原始响应数据。这是用来对响应除害化的预处理函数。你应该返回已除害化的数据。此函数接受两个参数:返回自服务器的原始数据,以及“dataType”参数。
-
dataType (默认值:
Intelligent Guess (xml, json, script, or html)
)类型:String期待从服务器返回的数据类型。如果没有指定,jQuery将根据响应的MIME类型判断(XML MIME类型将被识别为XML,在jQuery 1.4中,如果是JSON将生成一个JavaScript对象,而如果是Script则会执行这些脚本,其它则返回为一个字符串。)可用的类型(以及向success回调函数传递为第一个参数的结果)是:-
"xml"
: 返回可以通过jQuery被处理的XML文档。 -
"html"
: 将HTML返回为纯文本;包含的脚本标签会在插入到DOM时被执行。 -
"script"
: 将响应当作JavaScript来执行,并将它作为纯文本返回。通过对URL追加一个查询字符串参数_=[TIMESTAMP]
来禁用缓存,除非cache
选项被设置为true
。注意:对远程序域请求,所有的POST请求都转换成GET请求。 -
"json"
: 把响应的结果当作JSON执行,并返回一个JavaScript对象。跨域“json”
请求会被转换为“jsonp”
,除非在请求选中中,请求包含了jsonp: false
。会按严格方式解析JSON数据,任何有错误的JSON都会被拒绝,并抛出一个解析错误。自从jQuery 1.9以来,任何空响应都会被拒绝;服务器应该返回一个null
或{}
来代替。(请参阅json.org以进一步了解正确的JSON格式。) -
"jsonp"
: 使用JSONP载入一个JSON块。会把额外的"?callback=?"
添加到URL的末尾以指定回调函数。通过向URL末尾追加请求字符串参数"_=[TIMESTAMP]"
来禁用缓存,除非cache
选项被设置为true
。 -
"text"
: 纯文本字符串。 - 多个空格分隔的值: 自从jQuery 1.5以来,jQuery可以把从内容类型头(Content-Type)收到的dataType转换成你想要的。例如,如果你想要一个文本响应为XML处理,使用“text xml”数据类型。你还可以将一个JSONP请求,以文本形式接受,并用jQuery解析为XML:
"jsonp text xml"
。类似的,一个简写字符串,譬如"jsonp xml"
将先尝试从jsonp转换到xml,然后,如果失败的话,再把jsonp转换为text,然后再从text转换为xml。
-
-
error当请求失败时要调用的函数。此函数接受三个参数:jqXHR(在jQuery 1.4中,是XMLHttpRequest)对象,一个字符串描述发生的错误的类型,以及一个可选的异常对象,如果发生了的话。针对第二个参数可能的值(除了
null
之外)是“timeout”
、“error”
、“abort”
和“parsererror”
。如果发生了一次HTTP错误,errorThrown
会接收到HTTP状态的文本部分,譬如“Not Found”或者“Internet Server Error”。自从jQuery 1.5以来,error
设置可以接受一个函数的数组。每个函数将被依次调用。注意:对于跨域脚本和跨域JSPNP请求,不会调用此处理函数。它是一个Ajax事件。 -
global (默认值:
true
)类型:Boolean -
headers (默认值:
{}
)类型:PlainObject一个附加的头键值对对象,利用XMLHttpRequest传输,随请求一起发送。始终会添加头X-Requested-With: XMLHttpRequest
,但是它的默认XMLHttpRequest
值在这里会被修改。headers
中设置的值会在beforeSend
函数内部被覆盖。 (增补版本:1.5) -
ifModified (默认值:
false
)类型:Boolean只有当请求在上一次请求之后有所改变,才允许请求成功。这是通过检查Last-Modified头来实现的。默认值是false
忽略此头。在jQuery 1.4中,此技术也会检查由服务器指定的“etag”来捕获未修改的数据。 -
isLocal (默认值: 取决于当前本地协议)类型:Boolean允许当前环境被识别为“local”(例如,文件系统),哪怕jQuery并不能默认识别它。下面的协议是目前能识别为本地的协议:
file
、*-extension
和widget
。如果需要修改isLocal
设置,建议在$.ajaxSetup()
方法中做一次这样的修改。 (增补版本:1.5.1) -
jsonp在一个JSONP请求中覆盖回调函数名称。在url的查询字符串的“callback=?”部分中,此值将被用来代替“callback”。所以
{jsonp:'onJSONPLoad'}
将导致'onJSONPLoad=?'
传到服务器。自从jQuery 1.5以来,将jsonp
选项设置为false
会防止jQuery在传输中对url添加“?callback”字符串,并防止试图使用“=?”。在这种情况下,你必须明确设置jsonpCallback
设置。例如:{ jsonp: false, jsonpCallback: "callbackName" }
。如果你并不信任你的Ajax请求的目标,为了安全起见,请考虑将jsonp
属性设置为false
。 -
jsonpCallback为一个JSONP请求指定回调函数名称。该值将被用来代替jQuery自动生成的随机名称。最好让jQuery生成唯一名称,因为这将使它易于管理请求,提供回调函数和error处理函数。当你想要启用更好的GET请求的浏览器缓存时,你可能想要指定回调函数。自从jQuery 1.5以来,针对此设置还可以使用一个函数,那样的话,
jsonpCallback
的值会被设置为那个函数的返回值。 -
method (默认值:
'GET'
)类型:String -
mimeType类型:String覆盖XHR mime类型的mime类型。 (增补版本:1.5.1)
-
password类型:String在响应HTTP身份验证请求中,与XMLHttpRequest配合使用的密码。
-
processData (默认值:
true
)类型:Boolean默认情况下,以对象(严格地说,是除了字符串以外的任何东西)的形式向data
传递数据,对象都将被处理,并转换为一个查询字符 ,固定到默认的content-type“application/x-www-form-urlencoded”。如果你想发送一个DOMDocument,或者其它未处理的数据,请把此选项设置为false
。 -
scriptCharset类型:String只有使用“script”传输(例如,利用“jsonp”的跨域请求,或者利用“script”数据类型和“GET”请求类型)的时候才应用它。在请求中用到的脚本标记上设置
charset
特性。当在本地页面上设置字符集与远程脚本所用的字符集不一致时使用它。 -
statusCode (默认值:
{}
)类型:PlainObject一个数字HTTP代码和要调用的函数的对象,当响应具有对应的代码时调用该函数。例如,下面的代码将对404响应状态弹出警告框:
1234567$.ajax({
statusCode: {
404: function() {
alert( "page not found" );
}
}
});
如果请求成功了,代码代码取用与
(增补版本:1.5)success
回调函数相同的参数;如果它产生了一个错误(包括3xx重定向),它将取用与error
回调函数相同的参数。 -
success当请求成功时要调用的函数。此函数取得三个传入的参数:由服务器返回的data,根据
dataType
参数或dataFilter
回调函数格式化,如果指定了它们的话;一个字符串,描述响应状态;以及jqXHR
(在jQuery 1.4.x中,是XMLHttpREquest)对象。自从jQuery 1.5以来,success设置可以接受一个函数的数组。将依次调用每个函数。它是一个Ajax事件。 -
timeout类型:Number为请求设置一个超时(以毫秒计)。如果值为0表示没有超时。它将覆盖利用$.ajaxSetup()所作的任何全局设置。超时阶段从制作
$.ajax
调用的时点开始计时;如果若干个其它请求正在处理中,浏览器没有可用的连接,一个请求可能在它被发送之前就超时了。在jQuery 1.4.x以及以前版本中,如果请求超时的话,XMLHttpRequest对象将处于无效状态;访问任何对象可能都可能抛出异常。只在在Firefox 3.0+中,可以用timeout来撤销script请求和JSONP请求;脚本将继续运行,哪怕它已经超过了超时阶段。 -
traditional类型:Boolean如果你想要使用传统的参数序列化样式,就把它设置为
true
。 -
type (默认值:
'GET'
)类型:String针对method
的别名。如果使用jQuery 1.9.0以前的版本,你必须使用type
。 -
url (默认值:
The current page
)类型:String一个字符串,包含了请求被发送到的URL。 -
username类型:String在响应HTTP身份验证请求中,与XMLHttpRequest配合使用的用户名。
-
xhr (默认值: 如果可以的话(IE中)是
ActiveXObject
,否则是XMLHttpRequest
)类型:Function()针对创建XMLHttpRequest对象的回调函数。默认情况下,当可用时(IE中)是ActiveXObject,否则是XMLHttpRequest。覆盖它以提供你自己的XMLHttpRequest实现器,或增强XMLHttpRequest工厂函数。 -
xhrFields类型:PlainObject
在原生的
XHR
对象上设置的字段名-字段值对对象。例如,如果需要的话,针对跨域请求,你可以用它来把withCredentials
设置为true
。123456$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
在jQuery 1.5中,
(增补版本:1.5.1)withCredentials
属性不会传播给原生XHR
,因此需要它的CORS请求会忽略此标记。出于此原因,如果你需要使用到它,我们建议使用jQuery 1.5.1+。
-
-
$.ajax()
函数潜藏在所有jQuery发送的Ajax请求下面。通常不需要直接调用此函数,因为还有一些上层替代方案,譬如$.get()
和.load()
都是可用的,而且很容易使用。然而,如果需要不常用的选项,也可以很灵活地使用$.ajax()
。
最简单情况下,可以不带参数地调用$.ajax()
函数:
1
|
|
可以利用$.ajaxSetup()
函数来全局地设置默认设置。
此示例,没有使用选项,载入当前网页的内容,但是对结果不作处理。若要使用此结果,你可以实施下面的回调函数之一。
jqXHR对象
自从jQuery 1.5以来,jQuery XMLHttpRequest(jqXHR)对象由$.ajax()
返回,它是一个浏览器的原生XMLHttpRequest对象的超集。例如,它包含responseText
和responseXML
属性,以及getResponseHeader()
方法。当传输机制是XMLHttpRequest以外的东西时(例如,针对JSONP请求,是一个脚本标记)jqXHR
对象在需要的时候会模拟原生XHR功能。
自从jQuery 1.5.1,jqXHR
对象还包含了overrideMimeType()
方法(它在jQuery 1.4.x中也可用,但是在jQuery 1.5中被临时删除了)。例如,可以在beforeSend()
回调函数中使用overrideMimeType()
方法,以修改响应content-type头:
1
2
3
4
5
6
7
8
9
10
11
|
|
自从jQuery 1.5以来,由$.ajax()
返回的jqXHR对象实现了Promise接口,给它们延迟对象的所有的属性、方法和行为(请参阅延迟对象以进一步了解)。当$.ajax()
请求终止时,这些方法会调用一个或多个函数参数。这允许你在一个请求上为多个回调函数赋值,哪怕是在请求可能已经结束的时候再给回调函数赋值。(如果请求已经结束,回调函数会立即被引发。)jqXHR对象可用的延迟方法包括:
-
jqXHR.done(function( data, textStatus, jqXHR ) {});
一个对
success
回调函数选项的替代构造,请参阅deferred.done()
以了解实现功能细节。 -
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
一个对
error
回调函数选项的替代构造,.fail()
方法代替了已淘汰的.error()
方法。请参阅deferred.fail()
以了解实现功能细节。 -
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { }); (added in jQuery 1.6)
一个对
complete
回调函数选项的替代构造,.always()
方法代替了已淘汰的.complete()
方法。在成功的请求的响应中,函数的参数与
.done()
的参数相同:data、textStatus和jqXHR对象。对于失败的请求,与.fail()
的参数相同:jqXHR对象、textStatus和errorThrown。请参阅deferred.always()
以了解实现功能细节。 -
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
整合了
.done()
方法和.fail()
方法的功能,允许(从jQuery 1.8以来)操作底层的延迟对象。请参阅deferred.then()
以了解实现功能细节。
淘汰提示:jQuery 3.0中删除了jqXHR.success()
、jqXHR.error()
和jqXHR.complete()
回调函数。你可以使用jqXHR.done()
、jqXHR.fail()
和jqXHR.always()
来代替。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
|
在所有回调函数内部的this
引用是在传递给$.ajax
设置的context
选项中的对象;如果没有指定context
,this
是对Ajax设置本身的引用。
为了与XMLHttpRequest
向后兼容,jqXHR
对象将曝露下面的属性和方法:
-
readyState
-
当底层请求是用xml或text响应的时候,分别是
responseXML
和responseText
。 -
status
-
statusText
-
abort( [ statusText ] )
-
getAllResponseHeaders()
作为一个字符串 -
getResponseHeader( name )
-
overrideMimeType( mimeType )
-
setRequestHeader( name, value )
它不同于标准方式,通过把旧值替换成新值,而不是把将值串联到旧值后面。 -
statusCode( callbacksByStatusCode )
不提供onreadystatechange
机制,然而,是因为done
、fail
、always
和statusCode
已经覆盖了所有可以想得到的必要条件。
回调函数队列
beforeSend
、error
、dataFilter
、success
和complete
选项都接受回调函数,会在适当的时候调用它们。
自从jQuery 1.5以来,fail
回调函数和done
回调函数,以及,从jQuery 1.6以来,always
回调函数勾子是先进先出管理队列,对每个勾子允许不止一个回调函数。请参阅延迟对象方法,它在内部实现了$.ajax()
的回调函数勾子。
由$.ajax()
提供的回调函数勾子是以下这些:
-
调用了
beforeSend
回调函数选项,它接收jqXHR
对象以及settings
对象作为参数。 -
如果请求失败了,就调用
error
回调函数选项。它接收jqXHR
、一个指示错误类型的字符串,以及一个异常对象,如果适用的话。一些内建的错误提供字符串作为异常对象:“abort”、“timeout”、“No Transport”。 -
一旦接收到响应数据,就会立即调用
dataFilter
回调函数选项。它接收返回的数据,以及dataType
的值,必须返回(可能被修改)的数据,以传递给success
。 -
如果请求成功了,就调用
success
回调函数选项。它接收返回的数据,一个包含success代码的字符串,以及jqXHR
对象。 -
延迟对象回调函数——
.done()
、.fail()
、always
和.then()
,按它们注册的顺序调用它们。 -
当请求结束时,无论是失败还是成功,都会引发
complete
回调函数箕。它接收jqXHR
对象,以及一个字符串,包含了success或errorr代码。
数据类型
调用$.ajax()
的响应的不同类型,在传递给success
处理函数之前,服从不同类型的预处理。预处理的类型取决于响应的Content-Type上的默认值,但是可以使用dataType
选项来显式设置。如果提供了dataType
选项,就会忽略掉响应的Content-Type头。
可用的数据类型是text
、html
、xml
、json
、jsonp
和script
。
如果指定了text
或html
,就不会发生预处理。数据仅仅是传递给success
处理函数,通过jqXHR
对象的responseText
属性来使它可用。
如果指定了xml
,就会在传递响应之前,用jQuery.parseXML
解析响应,解析成XMLDocument
传递给success
处理函数。通过jqXHR
对象的responseXML
属性使XML文档可用。
如果指定了json
,就会在传递响应之前,用jQuery.parseJSON
解析响应,解析成一个对象,传递给success
处理函数。通过jqXHR
对象的responseJSON
属性使解析后的JSON对象可用。
如果指定了script
,$.ajax()
接收到自服务器的JavaScript之后,会先执行它,再把它作为字符串传递给success
处理函数。
如果指定了jsonp
,$.ajax()
会自动给URL追加一个查询字符串参数callback=?
(默认值)。传递给$.ajax()
的设置的jsonp
选项和jsonpCallback
选项可以分别用来指定查询字符串参数的名称和JSONP回调函数的名称。服务器必须返回有效的JavaScript,把JSON响应传递给回调函数。$.ajax()
将执行返回的JavaScript,调用JSONP回调函数,然后把响应中包含的JSON传递给$.ajax()
的success
处理函数。
欲进一步了解JSONP,请参阅详细说明它的用途的原始帖子。
把数据发送到服务器
默认情况下,使用GET HTTP方法发送Ajax请求。如果需要用POST方法,就必须通过对type
选项设置一个值来指定该方法。此选项影响data
选项的内容如何发送到服务器。必须始终使用UTF-8字符集把POST数据传送到服务器,按W3C XMLHTTPRequest标准。
data
选项既可以包含key1=value1&key2=value2
形式的查询字符串,也可以包含{key1: 'value1', key2: 'value2'}
形式的对象。如果使用了后面那种形式,就会在发送数据之前,用jQuery.param()
把数据转换成一个查询字符串。把processData
设置为false
可以绕开这种处理。如果你想要把XML对象发送到服务器,这种处理可能是不想要的;那样的话,请把contentType
选项从application/x-www-form-urlencoded
改成更合适的MIME类型。
高级选项
global
选项防止了利用.ajaxSend()
方法、.ajaxError()
方法和类似方法注册的处理函数,在请求可能触发到它们时引发它们。例如,如果请求是频繁而且短暂的,它可以用来压制利用.ajaxSend()
方法执行的一个载入指示器。用到跨域Script和JSONP请求时,global
选项会自动设置为false
。请参阅这些方法的下面的描述以了解细节。
如果服务器在提供响应之前实施了HTTP身份验证,可以通过username
和password
选项发送用户名和密钥对。
Ajax请求是有时限的,所以可能捕获错误,并处理它,以提供更好的用户体验。请求超时通常就留给默认值,要不就利用$.ajaxSetup()
来设置为全局默认值,而不是为特定的请求用timeout
选项来覆盖它。
默认情况下,请求总是会发出去的,但是浏览器可能从他的缓存是调取数据。若要禁用缓存结果,请把cache
设置为false
。如果自从上次请求以来资源没有被修改,若要使请求报告失败,请把ifModified
设置为true
。
scriptCharset
允许利用<script>
标签为请求显式指定字符集(也就是说,script
或jsonp
的类型)。如果脚本和主页具有不同的字符集,这很有用。
Ajax中的第一个字母代表“异步”,意味着操作是平行发行的,完成的顺序不是受保证的。$.ajax()
的async
选项默认为true
,指示在制作请求之后,代码执行可以继续。强烈不建议将此选项设置为false
(因此使调用不再是异步的了),因为它可能导致浏览器失去响应。
$.ajax()
函数返回它创建的XMLHttpRequest
对象。通常jQuery会内部处理该对象的创建,但是可以利用xhr
选项指定一个自定义的函数,用来制造自定义的xhr
对象。返回的对象通常可被丢弃,但是确实为观察和操作请求提供了底层接口。特别是在此对象上调用.abort()
,请在请求完成之前中止请求。
扩展Ajax
自从jQuery 1.5以来,jQuery的Ajax实现功能包括了prefilters、transports以及转换器,允许您以极大的灵活性扩展Ajax。
利用转换器
$.ajax()
转换器支持把数据类型映射到其它数据类型。然而,如果你想把自定义数据类型映射到已知的类型(例如,json
),你必须在响应Content-Type和实际数据类型之间利用contents
选项添加一个对应:
1
2
3
4
5
6
7
8
9
10
11
|
|
此额外的对象是必要,因为响应的Content-Type和数据类型永远不会有严格的一一对应(因此用正则表达式)。
若要把受支持的类型(例如,text
、json
)转换为自定义的数据类型,再转换回来,请用另一个直通转换器:
1
2
3
4
5
6
7
8
9
10
11
12
|
|
上面允许从text
传递给mycustomtype
,然后从mycustomtype
传递给json
。
补充说明:
- 出于浏览器安全限制,大多数“Ajax”请求要服从同源策略;请求不能从不同的域名、不同的子域、端口或协议成功地检索到数据。
- Script请求和JSONP请求不服从于同源策略限制。
示例:
把一些数据保存到服务器,一旦完成时就提醒用户。
1
2
3
4
5
6
7
8
|
|
检索HTML网页的最后版本。
1
2
3
4
5
6
7
|
|
把一个XML文档作为数据发送到服务器。通过把processData选项设置为false
,就会防止数据到字符串的自动化转换。
1
2
3
4
5
6
7
8
|
|
把数据作为id发送给服务器,把一些数据保存到数据库,一旦它完成了就通知用户。如果请求失败了,就警告用户。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
|
载入并执行JavaScript文件。
1
2
3
4
5
|
|