请求是异步的
因为jQuery的Ajax请求默认是异步的(可以通过配置选项属性async:false来变成同步的),所以响应只能在回调函数中被处理。同源策略和JSONP通常Ajax请求只能限制请求相同协议、相同端口、以及相同的域名下的资源。但是这个限制在使用jQuery加载script标签时不会起作用。JSONP使用一个script标签来执行跨域请求,因为script标签的请求不受同源策略的限制。script中会携带我请求的数据,并将其包裹在我指定的回调函数中。jQuery的Ajax相关的方法最核心的方法是
.
a
j
a
x
(
)
。
.ajax()。
.ajax()。.ajax()
.
a
j
a
x
(
)
方
法
是
一
个
有
力
并
且
直
接
的
创
建
A
j
a
x
请
求
的
方
法
。
使
用
一
个
选
项
对
象
作
为
参
数
传
给
它
,
这
个
选
项
对
象
的
属
性
配
置
了
完
成
请
求
所
需
要
的
所
有
指
令
。
.ajax()方法是一个有力并且直接的创建Ajax请求的方法。使用一个选项对象作为参数传给它,这个选项对象的属性配置了完成请求所需要的所有指令。
.ajax()方法是一个有力并且直接的创建Ajax请求的方法。使用一个选项对象作为参数传给它,这个选项对象的属性配置了完成请求所需要的所有指令。.ajax()提供了成功以及失败的回调函数。
实例代码如下:
$.ajax({url: “post.php”,type: “post”,data: { // 传输的数据,如果是get请求将会被转为URL中的请求参数id:1},dataType: json // 我们期待返回的数据类型})
.done(function(json){}) // 请求成功的回调
.fail(function(xhr,status,errorThrown){}) // 请求失败的回调
.always(function(xhr,status){}) // 不论成功或者失败都会被调用
注意:尽管dataType被设置了,但是如果服务器返回的类型不是我们期待的类型的时候,这时可能不会正常工作,所以一定要保证后端返回的Content−Type是我们所需要的类型。 尽管dataType被设置了,但是如果服务器返回的类型不是我们期待的类型的时候,这时可能不会正常工作,所以一定要保证后端返回的Content-Type是我们所需要的类型。尽管dataType被设置了,但是如果服务器返回的类型不是我们期待的类型的时候,这时可能不会正常工作,所以一定要保证后端返回的Content−Type是我们所需要的类型