クロスドメインのリクエストとは何ですか?
簡単な理解は、同じドメイン名にないサーバーファイルにリクエストを行うことです。これを説明するために実用的な例を使用しましょう。たとえば、baidu.comはcxyblog.comにリクエストを送信します。 2つのドメイン名は異なります。したがって、これはクロスドメインです。セキュリティ上の理由から、これは許可されていません。また、異なるサブドメイン、同じドメインの異なるポート、または同じドメインの異なるプロトコルによって送信される要求もクロスドメインと見なされ、基本的に次のカテゴリに分類できることに注意する必要があります。
(1) http://www.baidu.com http://www.cxyblog.comにリクエストを送信します
(2) http://www.cxyblog.com http://image.cxyblog.comにリクエストを送信します
(3) http://www.baidu.com:8000 http://www.cxyblog.comにリクエストを送信します
(4) http://www.cxyblog.com https://www.cxyblog.comにリクエストを送信します
(5) http://www.cxyblog.com http://112.65.242.67にリクエストを送信します(ドメイン名に対応するIP www.cxyblog.comは112.65.242.67であると仮定して)
上記の5つの状況はすべて、ドメインクロスリクエストです。
クロスドメインリクエストはいつ使用されますか?
JavaScriptを使用してAJAX操作を実行する必要がある場合、この種のクロスドメイン要求操作に遭遇する場合があります。
JavaScriptを使用してCross-Domainリクエストを直接実装できないのはなぜですか?
セキュリティ上の理由により、ブラウザはJavaScriptの相同ポリシーの制限により、JavaScriptがドメインクロスリソースを要求することを許可していません。
JavaScriptがクロスドメイン要求を実装できない問題を解決する方法は?
この記事で使用されているソリューションは、FlyJSONPを使用してクロスドメイン要求を実装することです。 Flyjsonpは、JSONプラグインとしても知られる軽量のJavaScriptクラスライブラリです。圧縮後の合計サイズは約3kbであり、他のフレームワークをサポートする必要はありません。
FlyJSONP公式ウェブサイトアドレス: http://alotaiba.github.com/flyjsonp/
では、FlyJSONPクラスライブラリを使用してクロスドメインリクエストを実装する方法は?
(1)最初に、flyjsonpのJavaScriptスクリプトをロードする必要があります。
<スクリプト言語= "javascript" src = "http://www.cxyblog.com/flyjsonp.min.js"> </script>
(2)FlyJSONPのインスタンスを初期化するために、パラメーターデバッグはtrueまたはfalseに設定できます。つまり、flyjsonp.init({debug:true})、つまりデバッグ情報を開くかどうか、パラメーター値はtrueまたはfalsです。
(3)次に、GETメソッドまたはPOSTメソッドを使用してデータを要求します。特定の例コードは次のとおりです。
// flyjsonpはクロスドメインgetFunction getData(){flyjsonp.init({debug:true}); // flyjsonpのインスタンスを初期化すると、パラメーターdebugはflyjsonp.getに設定できます({url: 'http:' http://www.cxyblog.com.com.com.diricl.json'リクエスト:{//パラメーターの制限:5}、成功(データ){// console.log(data)、function(errormsg){// console.log.log(errormsg);} // flyjsonp.init({debug:true}); // flyjsonpのインスタンスの初期化、パラメーターデバッグはtrueまたはfalse flyjsonp.post({url: 'http://www.cxyblog.com/article/new'、パラメーター:{username: 'cxyblog'、api_key: '' cxyblog '、' cxyblog '、' cxyblog '、' cxyblog '、' cxyblog '、apiblog'、タイトル: 'Flyjsonp'、説明: 'test'}、成功:function(data){alert(data)};};注:サーバーがクライアントに出力する場合、出力はJSON文字列である必要があります。そうしないと、クライアントはそれを受信できません。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。