ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery を使用してクロスドメイン AJAX JSONP リクエストを行うにはどうすればよいですか?

jQuery を使用してクロスドメイン AJAX JSONP リクエストを行うにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-25 15:21:13
オリジナル
431 人が閲覧しました

How Can I Make Cross-Domain AJAX JSONP Requests with jQuery?

jQuery を使用したクロスドメイン AJAX JSONP リクエストの作成

コード スニペットでは、JSON データを解析しようとしています。 jQuery の AJAX 機能を使用して、別のドメインでホストされているサービス。ただし、クロスドメイン AJAX リクエストが正常に機能するには、追加の考慮事項が必要です。

gt;クロスドメイン AJAX

デフォルトでは、ブラウザは AJAX リクエストを同じオリジン URL に制限します。セキュリティ上の懸念のため。これを解決するには、JSONP (JSON with Padding) を実装する必要があります。これにより、<script> を使用してクロスドメイン リクエストを行うことができます。 tag.</p> <p><h3>メソッド インジェクション</h3></p> <p>サーバー側のコードでは、メソッド インジェクションをサポートする必要があります。 「dataType: 'jsonp」で jQuery を使用すると、ランダムに生成されたメソッド名を持つクエリ パラメーターが URL に追加されます。次に、サーバーは、このメソッド名を使用して JSON 応答を関数呼び出しとしてラップする必要があります。</p> <p><h3>修正コード</h3></p> <p>サーバーが JSON 応答を正しくラップしていることを確認してください。クエリ文字列で渡されるメソッド名。たとえば、クエリ文字列に ?callback=my_callback_method が含まれている場合、サーバーは次のように応答する必要があります:</p> <p>my_callback_method({your json シリアル化データ});</p> <p>これが実装されたら、jQuery コードは次のように応答する必要があります。 JSON データを正常に解析します:</p> <p><br><script type="text/javascript"><br>var result;<br>function jsonparser1() {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$.ajax({ type: &quot;GET&quot;, url: &quot;http://10.211.2.219:8080/SampleWebService/sample.do&quot;, dataType: &quot;jsonp&quot;, success: function (xml) { alert(xml.data[0].city); result = xml.code; document.myform.result1.value = result; }, });</pre><div class="contentsignin">ログイン後にコピー</div></div> <p>} <br></script>

以上がjQuery を使用してクロスドメイン AJAX JSONP リクエストを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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