ホームページ >バックエンド開発 >PHPチュートリアル >jQuery と PHP はクロスオリジン リクエスト用の JSONP をどのように実装できますか?
jQuery と PHP を使用した JSONP: クロスオリジン リクエストの例
JSONP の概念を理解することは、特に実装しようとする場合に難しい場合があります。それをあなた自身のプロジェクトに組み込んでください。この記事では、jQuery、PHP、および JSONP を組み合わせた、シンプルかつ効果的な例を紹介します。このデモに従うことで、このメカニズムを使用してクロスオリジン リクエストを実行する方法を明確に理解できるようになります。
課題
次のようなシナリオを考えてみましょう。 1 つのドメイン (例: mywebsite.com) でホストされている Web ページと、別のドメイン (例: someotherserver.com)。同一オリジン ポリシーのため、従来の Ajax メソッドを使用してデータに直接アクセスすることはできません。
JSONP の登場: クロスオリジン ソリューション
JSONP はブラウザーがスクリプト タグに同一オリジン制限を課さないという事実を利用して、クロスオリジン リクエストを実行できるようにする手法です。基本的に、取得したいデータを関数呼び出しにラップし、スクリプト タグを使用してそれをロードできます。
jQuery $.getJSON メソッド
時jQuery を使用して JSONP リクエストを作成する場合は、$.getJSON() メソッドを利用できます。このメソッドは、JSONP を使用してクロスオリジン リクエストを自動的に検出し、処理します。
PHP サーバーサイド スクリプト
サーバー側では、 JSONP で予期される形式でデータを要求し、返します。 ?callback=? を使用します。パラメータを使用して、返されたデータをラップするために使用されるコールバック関数を指定します。
例のテスト
この例をテストするには、Web ページで jQuery を使用します。そしてサーバー上のPHP。 jQuery コードはサーバーに対して JSONP リクエストを作成し、サーバー側の PHP スクリプトはコールバック関数内にラップされたデータを返します。応答を受信すると、jQuery はコールバックを実行し、返されたデータを処理します。
以上がjQuery と PHP はクロスオリジン リクエスト用の JSONP をどのように実装できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。