私は、ローカル(ファイル://アクセス)htmlアプリケーションから.NET WCFドメインサービスのクロスドメイン使用を調べています。アプリは、AJAX呼び出しのためにjQueryを使用しています。jQuery.Ajax "制限付きURIへのアクセスが拒否されました"という説明はありますか?
サーバ上での認証(つまり匿名認証)を行わないと、CORSの "Access-Control-Allow-Origin:*"ヘッダーとJSONPフォーマットのデータをJSON形式で正常に取得できました。
ここでは、認証とCORSヘッダーがJSON(JSONPではなく)形式のデータである場合の動作を理解しようとしています。
次のjQueryコードはサーバーにリクエストを送信し、サーバーは「HTTP/1.1 401 Unauthorized」で応答します。
$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
data: myData
});
次のjQueryコード
は、サーバーへのリクエストを行い、すぐに「制限されたURIへのアクセスが拒否された」例外をスローし、コード1012$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
username: "chris",
password: "password",
data: myData
});
私が理解し、最初のケースを期待していません。誰も私に2番目の場合の例外を説明することはできますか?私はその要求が少なくとも期待されるだろう。
編集:Grrr、これはFF 10.0.2です。 Chromeは私が期待しているように行動するようですが、これはFFの問題ですか?
私は、jQuery.ajaxコールバック関数の1つでエラーを捕捉できること、またはJSONPでコールバック関数を使用することができることを実感しました。私の質問は本当になぜ(おそらくFirefoxだけ)要求をしないで、代わりにこの正確なシナリオでエラーが発生します。 – Chris