2011-09-16 3 views
2
requrl_1 = "http://www.example.com/index.php"; 
requrl_2 = "http://www.example.com/redirect.php"; 

、問題はありません。私は応答を得ています。 "index.php"はリダイレクタページではありません。のXMLHttpRequest - 私は "<b>requrl_1</b>" を要求すると例外101エラー

しかしrequrl_2はリダイレクタページで、別のWebサイト(たとえば、http://www.cnn.com)にリダイレクトされます。

私がXMLHttpRequestでリクエストすると、例外101エラーが発生しています。

redirect.php」をリクエストする必要があります。別の解決方法はありません。

どうすればいいですか? 「例外101」というエラーが発生するのはなぜですか?


私はグーグルクロームため のGreasemonkey userscriptスクリプトをコーディングしています。

+0

これは同期リクエストですか? – epascarello

答えて

1

Tampermonkeyをインストールしてスクリプトを実行することをお勧めします。次に、クロスドメインをサポートしているGM_xmlhttpRequest()Docでコーディングすることができます。そして、スクリプトは、GreasemonkeyがFirefox上でできることと一致する拡張機能を得る。

あなたがTampermonkey、クロムuserscripts now support cross-site requests via GM_xmlhttpRequest()をインストールしたくない場合。だから、

、あなたが使用できます。

GM_xmlhttpRequest ({ 
    method:  "GET", 
    url:  "http://www.example.com/redirect.php", 
    onload:  function (response) { 
        //-- Do your business here. 
       } 
}); 
+0

ありがとう、しかし、私は自分自身のためのスクリプトを書いていないので、スクリプトを使用するすべてのユーザーはtampermonkeyをインストールする必要があります。 – ocanal

+1

彼らは***とにかく*** TamperMonkeyをインストールする必要があります。 ;)** **ただし、Chromeは最近クロスドメインサポートを追加しました。私の更新された答えを見てください。 –

+0

こんにちは、ありがとう、ありがとう。 – ocanal

1

XMLHttpRequest Spec

から何かが間違っている(無限ループ、ネットワークエラー)になる場合は状態が ロードさに設定する必要があり、すべてのメンバーが(除きますreadyState)は、オブジェクトの初期値に設定する必要があります。また、asyncがfalseに設定されている場合は、 NETWORK_ERR例外を送出する必要があります。さらに、登録されているすべてのイベントリスナーを削除する必要があります( )。

基本的に、リダイレクトによって同じ発信元ポリシーが発生しています。どちらがエラーを発していますか。リクエストは、リダイレクトではなくプロキシを使用して提供する必要があります。

関連する問題