JS如何用异步AJAX更新全局变量?

在AJAX得到返回值后对全局变量赋值失败,请问如何解决?

代码如下,对words[i]和exps[i]赋值失败

var index = 0;
var words = new Array();
var exps = new Array();

function addWords(shift){
    var add = new XMLHttpRequest();
    add.onreadystatechange = function(){
        if (add.readyState == 4 && add.status == 200){
            var json = eval( "(" + add.responseText + ")" );
            var i;
            for (i in json.items){
                words[i] = json.items[i].word;
                exp[i]= json.items[i].exp;
            }
        }
    }
    add.open("GET", "get.php", true);
    add.send();
}
阅读 2.4k
1 个回答

addWords函数中第一句定义var _this=this;

其后words[i],exp[i]改为_this.words[i],_this.exp[i]

推荐问题