实际项目中 ajax 是非常常用的 ,但是ajax 默认是异步请求。
ajax 的 success 方法和调用ajax 的js并不是同一个工作域,导致success 中的返回结果 外层js无法获取,要想实现这一点,需要用到ajax的async参数,具体使用方法如下:
添加async参数前效果:
不写 async 时,默认其值为 true;
var testreturn = "无数据";
$.ajax({
type:"get",
dataType:"json",
url:"../test/url?id="+id,
success:function(data){
console.log(data);
testreturn = data;
}
});
console.log(testreturn);
输出结果为:
测试数据
无数据
添加async参数后效果:
var testreturn = "无数据";
$.ajax({
type:"get",
dataType:"json",
async:false,
url:"../test/url?id="+id,
success:function(data){
console.log(data);
testreturn = data;
}
});
console.log(testreturn);
输出结果为:
测试数据
测试数据