[英]Failed to change a global variable in JQuery ajax function
$( document ).ready(function() {
function doAjax( time_from, time_to ){
var dataRsp;
$.ajax({
url: "/query/"+time_from+"/"+time_to,
type: "GET",
dataType: "json",
success: function(data){ dataRsp = data; },
});
alert(JSON.stringify(dataRsp));
};
doAjax(0,0);
}
上面是我的代碼片段,我需要將ajax響應數據存儲在全局變量dataRsp中,但是我做不到這一點,我對JS和jquery中的變量作用域感到非常困惑,非常感謝。
將警報放入成功回調中
$( document ).ready(function() {
function doAjax( time_from, time_to ){
var dataRsp;
$.ajax({
async: false,
url: "/query/"+time_from+"/"+time_to,
type: "GET",
dataType: "json",
success: function(data){
dataRsp = data;
return(JSON.stringify(dataRsp));
}
});
};
var x =doAjax(0,0);
alert(x);
}
或者另一個選擇是添加async: false
參數。 並且還,
后success
不是必需的。
// GLOBAL
var dataRsp;
$( document ).ready(function() {
function doAjax( time_from, time_to ){
// var dataRsp;
$.ajax({
url: "/query/"+time_from+"/"+time_to,
type: "GET",
dataType: "json",
success: function(data){
dataRsp = data;
// YOU GET IT HERE
alert(JSON.stringify(dataRsp));
},
// Add this if you want to get it just after the "ajax" but not in the callback of "success"
async: false
});
// ALWAYS NULL if async==true as it's not returned yet.
// alert(JSON.stringify(dataRsp));
};
doAjax(0,0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.