今天在使用ajax给全局变量赋值的时候发现无论用什么方法都不行,下面先贴上问题代码:
function isRetake(paperId) {
var res = 1;
// 发送ajax请求
$.ajax({
async:false,
url : baseURL + "/createPaper/isRetake", // 请求地址
type : "post", // 请求类型
dataType : "json", // 返回类型
data : {
paperId : -paperId
},
success : function(data) {
if (data.isRetake) {
res = 1;
}else{
res = 0;
}
}
});
return res;
}
在经过查看各种资料之后发现,ajax默认是开启异步操作的(async:true),当你在success的方法中给变量赋值时,数据还未提取出来,所以会导致赋不进去,解决办法是把异步操作关闭,使其变为同步,async:false即可。
版权声明:本文为qq_33966027原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。