XMLHttpRequest readyState等于0

时间:2014-10-17 17:50:30

标签: javascript ajax xmlhttprequest

我无法使用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内容。

这是控制台对我的请求所说的内容: enter image description here

任何人都知道可能是什么问题?感谢。

1 个答案:

答案 0 :(得分:1)

xhrArrond.onreadystatechange = chargerArrondCallback(xhrArrond);

您正在调用事件处理函数并将其返回值(undefined)指定为事件处理程序。

将其更改为:

xhrArrond.onreadystatechange = chargerArrondCallback;

...然后使用函数内的this访问与之关联的XHR对象。