我是Ajax的新手,并且在主要截止日期之前。
我有一个ajax功能
$.ajax({
type: "POST",
url: 'CritAdd.php?',
data: { currfilterfields : currfilterfields },
async: false,
success: function(msg) {
var javminmaxarray = $.parseJSON(msg);
alert(msg);
alert(javminmaxarray);
}
});
这完全正常,数据存储在全局变量数组“javminmaxarray”中。用于测试的警报也显示预期值。
但是当我在我的函数中使用这个全局数组时,需要按如下方式访问它,该值显示为空/未定义。
function closemodal() {
alert(javminmaxarray[0]);
}
我将ajax的asynch选项设为false,但这也没有用。请建议如何使用成功块之外的ajax函数的值。
答案 0 :(得分:1)
改变这个..
var javminmaxarray = $.parseJSON(msg);
到
javminmaxarray = $.parseJSON(msg);
答案 1 :(得分:1)
在javminmaxarray
函数之外声明$.ajax
变量。
var javminmaxarray = {};
// ....
$.ajax({
//...
success: function(msg) {
javminmaxarray = $.parseJSON(msg);
}
});
然后根据需要使用你的功能
function closemodal(){
alert(javminmaxarray[0]);}