今回は、Jquery Ajax 非同期クロスドメイン実装の実装方法、JQuery Ajax 非同期クロスドメイン実装の 注意点 について説明します。以下は実際的なケースです。見てみましょう。
JS または Jquery ajax の非同期クロスドメイン問題を迅速に解決するにはどうすればよいですか?以下のエディターは、Jquery ajax の非同期クロスドメインの問題を迅速に解決する方法を共有します。それが皆さんのお役に立てば幸いです。編集者をフォローして見てみましょう
簡単にまとめると、解決策は 2 つあります。
1 つは jsonp メソッドです。 つまり、フロントエンドが非同期リクエストを送信するときに、関連する jsonp 設定または構成を追加し、バックエンドは解析できる形式で文字列を返します。 jsonp。
しかし、jsonp メソッドは get request メソッドのみをサポートしており、新しいブラウザ バージョンではサポートされていません (新しいブラウザ バージョンでは、ほとんどが OPITION リクエストを作成します - 非同期の安全性チェックされたテストリクエストであるため、jsonp メソッドは通過できません)。ここで知ることができます。
1 つは cro メソッドです。 利点は、安全性が高く、接続ホワイトリストを指定でき、リクエスト メソッド を制限できる (つまり、複数のリクエスト メソッドをサポートしている) ことです。主流のブラウザ。主に実装方法についての話ですが、
フロントエンド:通常の非同期リクエストと同じ形式、例えば$.ajax({
url :'http://localhost:8080/myProject/test'
type : "GET",//不局限于get
data:{"key1":value1,"key2":value2},
async : true,
success : function(data) {
var dataObj=eval("("+data+")");
console.log(dataObj);
},
error : function(data) {
alert( "服务器连接失败 ajaxJsonp" );
}
});
バックエンド:主にレスポンスヘッダパラメータの設定response.setHeader("Access-Control-Allow-Origin", "*");//设置可跨域资源共享的域名,只能设置一个具体的域名,但*可以代表所有
response.setHeader("Access-Control-Allow-Methods","GET,POST,PUT,OPTIONS");//设置可跨域资源共享的请求方式
response.setHeader("Access-Control-Allow-Credentials","true");
response.setHeader("Access-Control-Allow-Headers" ,"Origin, X-Requested-With, Content-Type, Accept");
推奨読書:
jQuery プラグインがページのコンテンツを印刷する方法 jQuery がデフォルトでクリック イベントをトリガーするためにページを実行する方法 jquery で on および click を使用する方法layui 値の受け渡しに関するツリー形状の詳細な説明以上がJquery ajax 非同期クロスドメインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。