簡體   English   中英

如何修復TypeError:undefined不是對象錯誤?

[英]How to fix TypeError: undefined is not an object error?

我試圖將使用XMLHttpRequest獲得的文件的結果添加到數組中。 該文件是一個json。

這是一個創建錯誤的代碼:

var array = [];
var req = new XMLHttpRequest();
req("get", "test.json");
req.onreadystatechange = handle(req, array);
req.send();

function handle(req, array) {
    if ((req.target.readyState == 4) && (req.target.status == 200)) {
        var json = JSON.parse(req.target.responseText);
        array.push(json.test);
        alert(array);

    }
}

不使用target的值為4

您使用了錯誤的請求屬性。

嘗試使用內聯函數進行onreadystatechange回調

var array = [];
var req = new XMLHttpRequest();
req("get", "test.json");
req.onreadystatechange = function(){
     if ((req.readyState == 4) && (req.status == 200)) {
        var json = JSON.parse(req.responseText);
        array.push(json.test);
        alert(array);
    }
};
req.send();

或按照你的方式

var array = [];
    var req = new XMLHttpRequest();
    req("get", "test.json");
    req.onreadystatechange = handle();
    req.send();
function handle(){
         if ((req.readyState == 4) && (req.status == 200)) {
            var json = JSON.parse(req.responseText);
            array.push(json.test);
            alert(array);
        }
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM