この記事では、クロスドメイン リクエスト 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 }
Ajax クロスドメイン リクエストの問題は解決されましたが、バックエンドがインターフェイス経由で Cookie を取得する必要がある場合、Cookie に関するクロスドメインの問題も発生します。
Cookie のクロスドメイン ソリューション: 次のパラメーターをリクエストに追加します。リクエスト ヘッダー情報は次のようになります。 Cookie 情報が付属します。
// 代码 $.ajax({ ... xhrFields: { withCredentials: true }, ... });
[関連する推奨事項: JavaScript ビデオ チュートリアル ]
以上がクロスドメインリクエスト POST のソリューションの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。