4

いくつかの CORS リクエスト (PUT、GET、POST) を作成しようとしています。リクエストは Chrome と Safari で正常に機能しています。オプションは拒否されますが、他の要求は通過します。

以下は私の検索機能です。Chrome と Safari は、返されたデータでコールバックを呼び出します。

function Search (q, fn,){
console.log(q)
$.ajax({
    url: sumeURL+q,
    dataType: 'json',
    headers: headers
}).done(function(data){
    fn(data);
});
}

FireFox はクエリ文字列をログに記録しているので、AJAX 呼び出しを読み取っていることがわかります (FireFox が AJAX に到達する前に何かを詰まらせていたのではないかと考えたため、以前の質問を削除しましたが、そうではありませんでした)。

FireBug を使用していNetますが、この検索機能からの GET リクエストのオプションがタブに表示されません。

このSOの質問を見てきましたが、開発ではなく本番用にこれを行う必要があるため、ブラウザのアドオンは適切なオプションではありません.

FireFox がリクエストの送信を拒否するが、Chrome や Safari では問題にならない条件は何ですか?

サーバーからアクセス制御データを送信する必要がある場合は、LMK.

4

1 に答える 1

2

あなたの答えは、この応答にある可能性があります:認証された CORS 要求のプリフライト OPTIONS 要求が Chrome では機能するのに、Firefox では機能しないのはなぜですか?

プリフライト リクエストの応答が 401 の場合、Firefox はリクエストの送信を停止するようですが、Webkit ブラウザは実際のリクエスト (GET、POST など) を続行します。

編集:しかし、もう一度、OPTIONSリクエストが送信されていることすら見ていません...それでも、上記の投稿は役立つ場合があります。

于 2013-04-15T21:56:32.067 に答える