私はクロスドメインHTTPリクエスト(allowedOrigins = *)を許可し、CrossOriginFilterを使用してクロスドメイン認証(allowCredentials = true)を許可するように私のJettyサーバを設定します。 認証要求のないドメイン間のHTTP要求は正常に動作します。今、認証が必要なhttp呼び出しについては、JQueryを使用してもうまくいきません。私は、サーバーに次の要求を参照してくださいHTTPFoxでhttp://www.aswinanand.com/2009/01/http-basic-authentication-using-ajax/jqueryクロスドメイン認証
function login(username, password) {
$.ajax({
type: "GET",
contentType: "application/json",
dataType: "json",
url: url,
beforeSend: function(xhr) {
var base64 = Base64.encode(username + ":" + password);
xhr.setRequestHeader("Authorization", "Basic " + base64);
xhr.withCredentials = true;
},
error: function(data){
alert("error");
},
success: function(data){
alert("success");
}
});
:
OPTIONS /login HTTP/1.1
...
Access-Control-Request-Method GET
Access-Control-Request-Headers authorization,content-type
サーバは、私も
HTTP/1.1 204 No Content
...
Allow OPTIONS,GET,HEAD
で応答し、私は次のコードを使用してこの例を踏襲しました以下のオプションを使用しましたが、違いはありません。
$.ajax({
...
username: username,
password: password,
...
}
エラー関数は常に発生します。 誰でも問題が何であるか考えてみませんか?
を含める必要があり、あなたのレスポンスヘッダでこれを参照しています 'アクセス制御-Allow-Origin:* '?途中で大きな質問! StackOverflowへようこそ! – jmort253
問題に関連するスタックトレースも表示できると便利だと思います。 – jmort253
このヘッダがあなたの回答に含まれているかどうか確認してください。そうでない場合は、セキュリティが応答ヘッダーをオーバーライドする可能性があります。さらにデバッグするログをもっと見る必要があります。がんばろう! :) – jmort253