11

カスタム http ヘッダーを使用してクロスドメイン ajax 呼び出しを実行しようとすると、ブラウザが余分な「OPTION」リクエストを送信していることに気付きました。「プリフライトリクエスト」と呼ばれるものだと思います。

この機能を無効にして、最初のリクエストのみを送信することはできますか?

これは私のjavascriptテストコードです:

$(document).ready(function() {
    $.ajax({
        url: "http://google.fr",
        crossDomain: true,
        headers: {
            "X-custom-parameter": true
        }
    });
});

助けてくれてありがとう!

4

1 に答える 1

13

いいえ、CORS プリフライト リクエストをバイパスすることは絶対に不可能です。プリフライト リクエストは、クロスドメイン リクエストを安全な方法で許可するために存在します。上記の例では、google.fr にアクセスしようとしていますが、google.fr は CORS をサポートしていません。Google は Web ページでのクロスドメイン リクエストをサポートしていないため、これを回避する方法はありません。一般に、サーバーの所有権を持っている場合、オプションは、CORS をサポートするか、JSON-P のような別のクロスドメイン ハックをサポートするか、サーバー側のプロキシを使用することです。

于 2013-05-02T02:09:03.040 に答える