ajax CORS リクエストで問題に直面しています。他のブラウザーでも動作するようになりましたが、Firefox は Authorization ヘッダーを送信しません。
対応するコードはこちら
$.ajax(
{
type: "GET",
url: 'http://www.urlhere.com/file.php',
crossDomain: true,
xhrFields: { withCredentials: true },
headers: { 'Authorization': 'Basic .....' },
error: function(data,error,errormsg) {
$('#serverTestLog').html('<h3><span style="color: red">'
+ error + '</h3></span><p>'+errormsg+'</p>');
},
success: function(data) {
$('#serverTestLog').html('<h3><span style="color: green">success</h3>');
}
});
問題は、Chrome が実際に Authorization ヘッダーをリクエストと共に送信する唯一のブラウザーであることです。Firefoxで試してみると、ユーザー名とパスワードを求められ、その後、ヘッダーが正しく設定された新しいリクエストが開始されますが、ユーザーの操作なしでこれを行いたいです.
私も交換してみました
headers: { 'Authorization': 'Basic .....' },
と
usename: 'username',
password: 'password',
ただし、リクエストで Authorization ヘッダーを送信するブラウザは Chrome だけです。今回は、Firefox はリクエストを次のように終了します。
NetworkError: 401 Authorization Required" というメッセージが表示され、ユーザー名とパスワードは要求されません。
どうすればこれを解決できるか考えている人はいますか?