我无法使用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内容。
这是控制台对我的请求所说的内容:
任何人都知道可能是什么问题?感谢。
答案 0 :(得分:1)
xhrArrond.onreadystatechange = chargerArrondCallback(xhrArrond);
您正在调用事件处理函数并将其返回值(undefined
)指定为事件处理程序。
将其更改为:
xhrArrond.onreadystatechange = chargerArrondCallback;
...然后使用函数内的this
访问与之关联的XHR对象。