[英]How to fix TypeError: undefined is not an object error?
I'm trying to add results of a file got using XMLHttpRequest
to an array. 我试图将使用
XMLHttpRequest
获得的文件的结果添加到数组中。 The file is a json. 该文件是一个json。
Here's a Code that creates the error: 这是一个创建错误的代码:
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);
}
}
Without using target
is has the value 4
不使用
target
的值为4
You have used wrong property of request. 您使用了错误的请求属性。
Try with inline function for onreadystatechange callback 尝试使用内联函数进行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();
or as per your way 或按照你的方式
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.