Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE8上的XMLHttpRequest onreadystatechange_Javascript - Fatal编程技术网

Javascript IE8上的XMLHttpRequest onreadystatechange

Javascript IE8上的XMLHttpRequest onreadystatechange,javascript,Javascript,我想为旧浏览器加载带有JavaScript的php文件。因此,我使用XMLHttpRequest获取我的文件,但是onreadystatechange在IE8上不起作用:( 这是我的代码: function getOldBrowserBlock () { var blockOldBrowser = document.getElementById('js-old-browser'), filePath = '/wp-content/themes/bla/includes/

我想为旧浏览器加载带有JavaScript的php文件。因此,我使用XMLHttpRequest获取我的文件,但是
onreadystatechange
在IE8上不起作用:(

这是我的代码:

function getOldBrowserBlock () {

    var blockOldBrowser = document.getElementById('js-old-browser'),
        filePath = '/wp-content/themes/bla/includes/alert-ie.php',
        x;

    if (XMLHttpRequest) {
        x = new XMLHttpRequest();
    } else {
        x = new ActiveXObject('Microsoft.XMLHTTP');
    }

    // On charge le fichier
    x.open('GET', filePath, false);

    x.send();

    /**
    * Description for onreadystatechange
    * @private
    * @method onreadystatechange
    * @return {Object} description
    */
    x.onreadystatechange = function () {

        alert('this dont work on IE8');

        if (x.readyState == 4) {

            // Si le fichier est chargé
            if (x.status == 200) {


                // On affiche le message
                blockOldBrowser.innerHTML = x.responseText;
            }

        }

    };

}
你知道吗


谢谢!

我曾经遇到过类似的问题,第一件事是在发送之前尝试设置
onreadystatechange
。请参阅帖子,在我的情况下,它是有效的。

在执行
发送之前尝试设置
onreadystatechange
callI如果在任何浏览器上都有效,我会非常困惑。您正在使用
false
作为第三个pa要打开的参数将使请求同步,在这种情况下,将永远不会调用readystate更改回调,而会阻塞send语句在我的onreadystatechange之后,但没有结果和add true for Asynchronous您是否检查了控制台中的错误?能否用更改的代码更新您的问题?我尝试在我的onreadystatechange之后添加send(),但没有结果。