2011-08-06 50 views
9

私は次のエラーを与える、ChromeでAJAXの問題を抱えている:これは私のコードであるNETWORK_ERR:XMLHttpRequestの例外101

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; 
} 
+0

あなたが使用しているfilename' 'は何ですか? – pimvdb

答えて

2

クロスを取得-site URLに適切なヘッダーがない場合、このエラーはXHR(AJAX)経由でローカルファイルを取得するときに発生します。明らかにChromeはクロスサイトのセキュリティ対策に熱心で、1つのファイル:URLは別のファイル:URLと同じサイトと見なすべきではないことを認識していないようです。これは多くの自家開発アプリケーション、特にJasmine(JavaScriptテストフレームワーク)の問題です。

Chromeバージョン16.0.912.63からはまだ起こっています。

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

+5

'--allow-file-access-from-files'スイッチでchromeを起動することができます。 –

12

ソリューションはtrueasyncパラメータを設定します

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

W00t。これは私のために働いた。 – gnarbarian

関連する問題