1

HTML/JavaScript アプリケーションから REST Web サービスにアクセスしようとしています。Apache HTTPD 2.2 経由で Web アプリケーションと Web サービスの両方にアクセスしています。Web サービスの GET メソッドは、ブラウザで直接呼び出すと機能します (実行してデータを返します)。Web アプリケーションから呼び出しが試行された場合、Web サービスは要求を受信しません。

Web サービスの URL は

http://127.0.0.1/pbws/all/

それを呼び出しているWebページは

http://127.0.0.1/~myusername/phonebook/

私の問題は、ウィキペディア ( http://en.wikipedia.org/wiki/Same_origin_policy ) で説明されている同じオリジン ポリシーではないと思います。Web アプリケーションと呼び出し先の両方に同じホスト、プロトコル、およびポートを使用しています。ウェブサービス。

失敗している呼び出しは次のとおりです。

getAll = function (callback) {
   $.ajax({
       type: "GET",
       url: "http://127.0.0.1/pbws/all/",
       dataType: "json",
       async: true,
       success: function (data, textStatus, jqXHR) {
          callback(data);
       },
       error: function (jqXHR, textStatus, errorThrown) {
          console.dir(jqXHR);
          alert('getAll error: ' + textStatus);
       }
   });
};

成功は決して呼び出されず、エラーのみが呼び出されます。ブレークポイントが設定されていると、jqXHR には役立つ情報が含まれていません。textStatus = "error" で、errorThrown は空白です。Chrome Developer Tools/Network タブに、ステータスが「(failed)」と表示されます。

Windows 7 の Chrome 23 と Firefox 16 の両方でこれをテストしました。問題の可能性や、これをさらにデバッグする方法についてのアイデアはありますか?

4

1 に答える 1

0

jQuery Ajax 呼び出しが失敗する原因となったのは appcache でした。index.html でコメント化された appcache ディレクティブを使用すると、REST WS 呼び出しは正常に機能します。

HTML5 の appcache 機能を使用しているときに json リクエストを許可するにはどうすればよいですか?の提案をテストしています。

于 2012-11-24T04:28:47.883 に答える