ホームページ  >  記事  >  ウェブフロントエンド  >  Jquery ajax 非同期クロスドメインを実装する方法

Jquery ajax 非同期クロスドメインを実装する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-15 11:00:351163ブラウズ

今回は、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");
だと思いますあなたはこの記事のケースを読みました。この方法をマスターしたら、よりエキサイティングなコンテンツについては、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jQuery プラグインがページのコンテンツを印刷する方法


jQuery がデフォルトでクリック イベントをトリガーするためにページを実行する方法


jquery で on および click を使用する方法


layui 値の受け渡しに関するツリー形状の詳細な説明

以上がJquery ajax 非同期クロスドメインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。