クロスドメインリクエスト POST のソリューションの紹介

不言
リリース: 2019-04-04 10:48:38
転載
3974 人が閲覧しました

この記事では、クロスドメイン リクエスト POST の解決策を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

クロスドメインリクエスト POST ソリューション

Cookie は通常、ドメインを越えることはできません。また、POST リクエストであっても、一般にドメインを越えることはできません。
    //     请求代码示例
    $.ajax({
        url: url,
        type: "POST",
        data: metadata,
        dataType: 'json',
        xhrFields: {  
            withCredentials: true  
        },  
        crossDomain: true,
        success: function(){},
        error: function(){}
    });
ログイン後にコピー

1. デフォルトでは、ajax (XMLHttpRequest() object および Microsoft.XMLHTTP object) は同一生成元ポリシーの対象となり、相互接続は許可されません。ドメインリクエスト。

2. jsonp のクロスドメインでは、この制限を回避するためにページを使用してスクリプト タグを動的に追加し、クロスドメイン リソースを参照しますが、 post メソッドはありません

解決策: サーバー側の設定により、ドメインを越えた Ajax リクエストが許可されます。
    ##     服务端设置允许跨域代码,eg:
    header("Access-Control-Allow-Credentials: true");

    header("Access-Control-Allow-Origin: http://www.xxx.com");

    ## 设置成功后,在接口请求的Response Headers会看到一下以下允许跨越信息
    {
        Access-Control-Allow-Credentials:true
        Access-Control-Allow-Headers:x-requested-with,content-type
        Access-Control-Allow-Methods:POST
        Access-Control-Allow-Origin:http://www.aipai.com
    }
ログイン後にコピー

Cookie クロスドメイン ソリューション

Ajax クロスドメイン リクエストの問題は解決されましたが、バックエンドがインターフェイス経由で Cookie を取得する必要がある場合、Cookie に関するクロスドメインの問題も発生します。

Cookie のクロスドメイン ソリューション: 次のパラメーターをリクエストに追加します。リクエスト ヘッダー情報は次のようになります。 Cookie 情報が付属します。
    // 代码
    $.ajax({
        ...
        xhrFields: {  
            withCredentials: true  
        },
        ...
    });
ログイン後にコピー

[関連する推奨事項: JavaScript ビデオ チュートリアル ]

以上がクロスドメインリクエスト POST のソリューションの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート