JSONP 原則: まずクライアントで関数を登録し、次に関数の名前をサーバーに渡します。その後、サーバーは JSON データを JSON データに変換し、そのデータをクライアントに登録された関数に渡します。 Javascript 構文; 最後に、クライアント登録関数で JSON を受け取るだけです。
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>
JSONP のオリジン
ブラウザの同一オリジン ポリシーによると、いわゆる同一オリジンとは、プロトコル、ホスト、ポート番号がすべて同じであることを意味します。そして同じ原点となる。ドメイン a の js はドメイン名 b の情報に直接アクセスできませんが、script タグの src 属性によりドメインをまたがるファイルを参照できます。 jsonp はリクエスト後にバックグラウンドで json をパッケージ化し、そのデータをコールバック関数に入れます、js ファイルを返し、それを動的に導入します。このファイルは、js をダウンロードした後、このコールバックを呼び出し、この方法でデータにアクセスします。
JSONP は何に使用されますか?
オリジン省略の制限により、XMLHttpRequest では、以前のソース (ドメイン名、プロトコル、ポート) からのリソースのリクエストのみが許可されます。クロスドメイン リクエストを実装するには、クロスドメイン リクエストを使用できます。スクリプト タグを通じて実装され、サーバーは JSON データを出力し、クロスドメイン データ リクエストを解決するコールバック関数を実行します。
推奨チュートリアル: "JS"
以上がJSONPの原理は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。