web-dev-qa-db-ja.com

NETWORK_ERR:XMLHttpRequest例外101

ChromeでAJAXの問題が発生し、次のエラーが発生します:

Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

これは私のコードです:

function IO(filename) {
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        xmlhttp = new XMLHttpRequest();

    } else if (window.ActiveXObject) { // IE
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }

    xmlhttp.open("GET", filename+"?random="+Math.floor(Math.random()*100000001), false);
    xmlhttp.send();

    if(xmlhttp.readyState==4)
        return xmlhttp.responseXML;
}
9
Pawan Goswami

解決策は、asyncパラメーターをtrueに設定することです。

xmlhttp.open("GET", filename+"?random="+Math.floor(Math.random()*100000001), true);
12
headmax

このエラーは、適切なヘッダーのないクロスサイトURLをフェッチするときに発生するだけでなく、XHR(AJAX)を介してローカルファイルをフェッチするときにも発生します。どうやらChromeは、クロスサイトセキュリティ対策に熱心であり、あるファイル:URLを別のファイル:URLと同じサイトと見なす必要があることに気づいていません。これは多くの自家製アプリの問題です。特にJasmine(JavaScriptテストフレームワーク)。

Chromeバージョン16.0.912.63の時点でまだ発生しています。

解決策はわかりません。回避策は、Firefoxまたはその他のブラウザーを使用して、ファイル(URL)から提供されるアプリを実行することです。

2
AlexChaffee