ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザーの制限にもかかわらず、JSONP はどのようにしてクロスドメインのデータ共有を可能にするのでしょうか?
JSONP について: クロスドメイン データ共有ソリューション
JSON (JavaScript Object Notation) は、構造化データを表すために広く使用されているデータ形式です。ただし、ブラウザーの制限により異なるドメインにまたがるデータにアクセスする場合、JSON だけでは十分ではありません。そこで登場するのが JSONP (JSON with Padding) です。
JSONP とは何ですか?
JSONP は、応答データをラップすることでクロスドメイン データ共有を可能にする技術です。関数呼び出しにより、ブラウザの同一生成元ポリシーがバイパスされます。
なぜJSONP が作成されましたか?
JSONP は、安全でより柔軟なクロスドメイン リクエストのニーズに対応するために作成されました。これにより、異なるドメインの Web サイトからリソースにアクセスするという問題が解決されます。
JSONP はどのように機能しますか?
2 つのドメイン、example.com と example.net について考えてみましょう。 example.com から example.net にリクエストを行う場合、同一オリジン ポリシーにより直接データ アクセスが防止されます。
JSONP では、リクエストに JavaScript コードを埋め込むことでクロスドメイン リクエストが許可されます。これは、通常「コールバック」と呼ばれる特別なパラメータをリクエスト URL に追加することによって行われます。
例:
http://www.example.net/sample.aspx?callback=myCallback
サーバー側は、次の関数呼び出しで応答データをラップします。指定されたコールバック パラメーター:
myCallback({ foo: 'bar' });
要求元のページでは、受信リクエストを処理する関数が定義されています。 data:
myCallback = function(data) { alert(data.foo); };
埋め込み JavaScript コードが実行されると、応答データを使用してコールバック関数が呼び出され、クロスドメイン データ アクセスが可能になります。
制限事項と考慮事項
JSONP はクロスドメイン機能を提供しますが、次のような制限があります。例:
代替ソリューション
JSONP の制限により、より最新のソリューションCORS (Cross-Origin Resource Sharing) のような代替手段が、クロスオリジンリクエストに対するより良いアプローチとして登場しました。 CORS は、データ共有に対して優れたセキュリティ、制御、柔軟性を提供します。
以上がブラウザーの制限にもかかわらず、JSONP はどのようにしてクロスドメインのデータ共有を可能にするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。