如何在成功块之外使用ajax函数的值

时间:2014-04-18 12:37:23

标签: javascript php jquery ajax

我是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函数的值。

2 个答案:

答案 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]);}