全局变量在匿名函数中不可见

时间:2015-01-27 06:11:23

标签: javascript jquery

我有这样的ajax调用:

var test = []
$.ajax( {
    url : url,
    type: "POST",
    success : function(xhr, textStatus, xmlReq) {
        callbackFnc = function() { callBack(attributesToSearch, searchText,checkForApproval); };
        fetch(xhr, textStatus, xmlReq, attributesToSearch, searchText, callbackFnc);
    }
});

我有一个名为test的变量,这是一个全局变量。但是这个变量在callBack函数中是不可见的。如果我尝试使用它,我会收到undefined

function callBack(//args)
  console.log(test) //undefined
}

我在哪里弄错了?

1 个答案:

答案 0 :(得分:0)

可能导致此问题的评论中涵盖的原因很少。一个简单的解决方案是在窗口范围内定义和调用它:

window.test = []

以后

console.log(window.test);