JQ之Ajax
jquery $.ajax:
type : 请求方式
data : {} 参数 信息
success : 请求成功后的处理函数
error : 请求失败后的函数
complete: 请求完成的处理函数,最后执行
context : 改变函数上下文
async : 是否异步
dataType : 'jsonp' 请求返回的数据类型
$.ajax({
type: 'GET',
success : function (res){ //发送成功后会返回一个参数
// 处理传来的参数 例:把参数遍历出来
$.each(res.data,function (index,ele){
console.log(ele);
})
},
error : function (e){
console.log(e.status,e.statusText); //如果URL写错了,会返回404 和error信息
},
});
需要处理一个标签时。this指向的是ajax提供的对象
$.ajax({
type: 'GET',
success : function (res){ //发送成功后会返回一个参数,同时也会处理
// 处理传来的参数 例:把参数遍历出来
$.each(res.data,function (index,ele){
console.log(ele);
})
// 假设已经生成标签
console.log(this); // this指向ajax提供的对象
// 有时处理dom,需要包装或者处理一下,需要this调用。这时需要修改this的指向
},
error : function (e){
console.log(e.status,e.statusText); //如果URL写错了,会返回404 和error信息
},
});
如下:
我们希望它指向的是dom,需要使用context改变它的指向
HTML:
<div class="wrapper"></div>
js:
$.ajax({
type: 'GET',
success : function (res){ //发送成功后会返回一个参数,同时也会处理
// 处理传来的参数 例:把参数遍历出来
$.each(res.data,function (index,ele){
console.log(ele);
})
// 假设已经生成标签
// 有时处理dom,需要包装或者处理一下,需要this调用。这时需要修改this的指向
console.log(this);
},
error : function (e){
console.log(e.status,e.statusText); //如果URL写错了,会返回404 和error信息
},
complete: function (){
},
context: $('.wrapper')
});
如下图:执行的是div,而不是ajax的提供的对象
dataType:跨域请求
$.ajax({
type: 'GET',
async : false,
data : {
wd : 'nba',
},
});
访问百度的URL会报没有权限访问
这时需要写一个预期服务器返回的的数据类型,数据还要传一个参数,还要写一个全局的函数,数据里使用cb调用函数
function deal (res){ //全局函数
console.log(res);
}
$.ajax({
type: 'GET',
data : {
wd : 'nba',
cb: 'deal' //全局函数
},
dataType : 'jsonp', //请求返回的数据类型
});