$( 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
。