解决JQuery的ajax不能给全局变量赋值的问题

今天在使用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即可。

你可能感兴趣的:(JavaScript问题处理)