検索
ホームページウェブフロントエンドH5 チュートリアルjQuery + JSONP クロスドメインを実装する方法

今回は、jQuery+JSONPのクロスドメイン実装はどのように行う必要があるのか​​、またjQuery+JSONPのクロスドメイン実装における注意点を以下に具体的な事例として紹介します。

jsonp を理解した後は、jsonp が主にクロスドメイン データを取得するために使用されることも理解する必要があります。今日は実際にクロスドメインを実現するために jsonp を適用する方法について詳しく説明します

JSONP (JSON with Padding) です。主流ブラウザによるクロスドメイン データ アクセスの問題を解決するために使用できる JSON の「使用モデル」。同一オリジン ポリシーにより、一般に、server1.example.com にある Web ページは、HTML の <script> 要素を除き、server1.example.com 以外のサーバーと通信できません。 <script> 要素のこのオープン ポリシーを使用すると、Web ページは他のソースから動的に生成された JSON データを取得できます。この使用パターンは JSONP と呼ばれます。 JSONP でキャプチャされたデータは JSON ではなく、JSON パーサーで解析されるのではなく、JavaScript インタープリターで実行される任意の JavaScript です。 </script>

上記の文章は百度百科事典から引用しています 概念は常に非常に抽象的であり、最も直感的な表現は例を見ることです。たくさんの例を見て、その点を理解すると、自然に抽象的に説明できるようになります。 「知識の習得は、薄いものから厚いものへ、厚いものから薄いものへのプロセスである」と言われるのはこのためです。さて、行き過ぎましょう。例を直接見てみましょう。

問題: http://localhost:3561/User/GetAllNames からデータを取得して表示する必要があるローカル ページのデモ.html があります。

回答: 質問にある 2 つの当事者は同じサーバー上にいないため、クロスドメイン アクセスには jsonp を使用する必要があります。

①クライアントサイドの書き込み

クライアントは、クロスドメインアクセスのためにjQueryで提供されている$.getJsonメソッドを使用します。 getJson には 3 つのパラメータがあります:

I. url: リクエストアドレス;

II. data: サーバーに送信されるパラメータ;

III. 成功時のコールバック関数。

getJson の使い方は基本的に通常の $.get メソッドと同じですが、getJson は URL の後ろに callback=? を追加する必要がある点で、jQuery が自動的に正しい関数名に置き換えます。コールバック関数。次に、外部ドメインから返された json オブジェクトをコールバック関数で操作します。コールバック関数 callback のパラメータは json オブジェクトです。

nbsp;html>


<meta>
  <title></title>


  
      <script></script>   <script> $.getJSON("http://localhost:3561/User/GetAllNames?callback=?", function(json) { for (var i = 0; i < json.length; i++) { $("#nameList").append("<li>" + json[i] + ""); } }); </script>

    ②サーバーサイドの書き込み

    サーバー側のロジックは主にデータをjson文字列にシリアル化し、それを「コールバック(json)」という形式にカプセル化することです。コールバックとは、によって自動生成される関数名です。 jQuery がサーバーに渡されます。以下は C# を使用して実装されています:

    public class UserController : Controller
    {
        public string GetAllNames(string callback)
      {
        string[] names = new string[] { "张三丰", "张无忌", "令狐冲", "杨过", "郭靖" };
        JavaScriptSerializer jss = new JavaScriptSerializer();
        string json = jss.Serialize(names);
        return string.Format("{0}({1})", callback, json);
      }
    }

    この時点で、問題は正常に解決されました。

    考え: コールバックがサーバー側でハードコーディングされている場合 (return string.Format("moty({0})", json); など)、クライアントはそれをどのように記述すべきでしょうか?

    参考:

    $.ajax("http://localhost:3561/User/GetAllNames", {
      jsonpCallback: "moty",
      dataType: "jsonp",
      success: function(json) {
        for (var i = 0; i " + json[i] + "");
        }
      }
    });

    この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

    推奨読書:

    jqueryでselectコンポーネントを使用する方法

    jqueryのログイン効果を実装する方法

    マウスアウトイベントのケースと詳細な説明

    jQueryカスタム関数アプリケーションと分析


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

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

    HTML5にWebサイトを構築する方法には、次のものが含まれます。1。セマンティックタグを使用して、などのWebページ構造を定義します。 2。マルチメディアコンテンツ、使用、タグを埋め込みます。 3.フォーム検証やローカルストレージなどの高度な機能を適用します。これらの手順を通じて、明確な構造と豊富な機能を備えた最新のWebページを作成できます。

    H5コード構造:読みやすさのためのコンテンツの整理H5コード構造:読みやすさのためのコンテンツの整理May 07, 2025 am 12:06 AM

    合理的なH5コード構造により、ページは多くのコンテンツの中で際立っています。 1)コンテンツなどのセマンティックラベルを使用して、構造を明確にするためにコンテンツを整理します。 2)FlexBoxやグリッドなどのCSSレイアウトを介して、さまざまなデバイスでのページのレンダリング効果を制御します。 3)レスポンシブデザインを実装して、ページがさまざまな画面サイズに適応するようにします。

    H5対古いHTMLバージョン:比較H5対古いHTMLバージョン:比較May 06, 2025 am 12:09 AM

    HTML5(H5)以降のバージョンのHTMLの主な違いには、次のものが含まれます。1)H5はセマンティックタグを導入し、2)マルチメディアコンテンツをサポートし、3)オフラインストレージ機能を提供します。 H5は、新しいタグやタグなどのAPIを介してWebページの機能と表現力を高め、ユーザーエクスペリエンスやSEO効果を改善しますが、互換性の問題に注意を払う必要があります。

    H5対HTML5:用語と関係を明確にするH5対HTML5:用語と関係を明確にするMay 05, 2025 am 12:02 AM

    H5とHTML5の違いは次のとおりです。1)HTML5は、構造とコンテンツを定義するWebページ標準です。 2)H5は、迅速な開発とマーケティングに適したHTML5に基づくモバイルWebアプリケーションです。

    HTML5機能:H5のコアHTML5機能:H5のコアMay 04, 2025 am 12:05 AM

    HTML5のコア機能には、セマンティックタグ、マルチメディアサポート、フォームエンハンスメント、オフラインストレージ、ローカルストレージが含まれます。 1。コードの読みやすさやSEO効果を改善するなどのセマンティックタグ。 2.マルチメディアサポートは、メディアコンテンツを埋め込むプロセスとタグを簡素化します。 3.フォームエンハンスメント新しい入力タイプと検証プロパティを導入し、フォーム開発を簡素化します。 4.オフラインストレージとローカルストレージは、ApplicationCacheとLocalStorageを通じてWebページのパフォーマンスとユーザーエクスペリエンスを改善します。

    H5:HTMLの最新バージョンの探索H5:HTMLの最新バージョンの探索May 03, 2025 am 12:14 AM

    html5isamajorrevision ofhtmlstandardthatedatedatizeizeswebdevelovement byintunwingnewsemanticelementsandcapabilities.1)itenhancesscodereadability and.2)html5EnableSricher、InteractiveEnceEnceEnceEncedienceEnceDirectembe、and.2)

    基本を超えて:H5コードの高度な手法基本を超えて:H5コードの高度な手法May 02, 2025 am 12:03 AM

    H5の高度なヒントには以下が含まれます。1。複雑なグラフィックスを使用して描画します。2。ウェブワーカーを使用してパフォーマンスを向上させます。これらのヒントは、開発者がよりダイナミックでインタラクティブで効率的なWebアプリケーションを構築するのに役立ちます。

    H5:Webコンテンツとデザインの未来H5:Webコンテンツとデザインの未来May 01, 2025 am 12:12 AM

    H5(HTML5)は、新しい要素とAPIを介してWebコンテンツと設計を改善します。 1)H5はセマンティックタグ付けとマルチメディアサポートを強化します。 2)キャンバスとSVGを導入し、Webデザインを濃縮します。 3)H5は、新しいタグとAPIを介してHTML機能を拡張することにより機能します。 4)基本的な使用には、それを使用したグラフィックの作成が含まれ、高度な使用法にはwebstorageapiが含まれます。 5)開発者は、ブラウザの互換性とパフォーマンスの最適化に注意を払う必要があります。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境