1. 程式人生 > >解決JQuery的ajax不能給全域性變數賦值的問題

解決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:true即可。