我无法使用XMLHttpRequest获取任何数据,因为它的readyState返回0。我有以下代码:
function chargerArrondissements() {
var xhrArrond = new XMLHttpRequest();
xhrArrond.onreadystatechange = chargerArrondCallback(xhrArrond);
var lienDocArrond = 'PHP/script_load_arrondissements_get.php';
xhrArrond.open('GET', lienDocArrond, true);
console.log('Arrondissements chargés dans le fichier xml');
xhrArrond.send(null);
}
function chargerArrondCallback(xhrArrond) {
alert(xhrArrond.readyState);
}
警报窗口显示为0。我还尝试在设置处理程序之前打开XHR,但它仍返回0。现在,奇怪的是,我在该页面上有很多XHR,它们都工作得很好,除了一个,以及我无法解释原因。
顺便说一句,我的php文件路径是:
http://localhost/TP2/PHP/script_load_arrondissements_get.php
。另外,您应该知道此文件返回正确的xml内容。
这是控制台关于我的请求的内容:
有人知道可能是什么问题吗?谢谢。
最佳答案
xhrArrond.onreadystatechange = chargerArrondCallback(xhrArrond);
您正在调用事件处理程序函数,并将其返回值(
undefined
)分配为事件处理程序。更改为:
xhrArrond.onreadystatechange = chargerArrondCallback;
…,然后使用函数内的
this
访问与之关联的XHR对象。