鍍金池/ 問答/HTML/ JS如何用異步AJAX更新全局變量?

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();
}
回答
編輯回答
爛人

addWords函數(shù)中第一句定義var _this=this;

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

2017年2月18日 05:25