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 の両方でこれをテストしました。問題の可能性や、これをさらにデバッグする方法についてのアイデアはありますか?