ホームページ >バックエンド開発 >PHPチュートリアル >jQuery と PHP は、JSONP を使用したクロスオリジン リクエストをどのように促進できますか?

jQuery と PHP は、JSONP を使用したクロスオリジン リクエストをどのように促進できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-04 19:56:12175ブラウズ

How Can jQuery and PHP Facilitate Cross-Origin Requests Using JSONP?

JSONP を使用したクロスオリジン リクエスト: 単純な jQuery、PHP の例

同一オリジン ポリシーによって課される制限に対処する場合、 JSONP は、クロスオリジンリクエストに対する効果的なソリューションとして登場します。この手法を使用すると、潜在的なセキュリティ脆弱性を回避しながら、外部ソースからデータを取得できます。

jQuery と JSONP

jQuery を使用して JSONP リクエストを開始するには、 $.getJSON メソッド。次のコード スニペットに示すように、このメソッドは JSONP リクエストを自動的にトリガーします。

$.getJSON('http://www.example.com/jsonp.php', {firstname: 'Jeff'}, function(res) {
    alert('Your name is ' + res.fullname);
});

PHP と JSONP

サーバー側では、PHP がエンドポイントとして機能します。 JSONP リクエストを処理するため。 $.getJSON メソッドはコールバック パラメーターを URL クエリ文字列に追加し、その後 PHP スクリプトによって処理されます。スクリプトは、次に示すように、コールバック関数でラップされた応答を返します。

<?php
$fname = $_GET['firstname'];
if ($fname == 'Jeff') {
    echo $_GET['callback'] . '(' . "{'fullname': 'Jeff Hansen'}" . ')';
}
?>

応答を構築する際の $_GET['callback'] の使用と適切な JSONP 構文に注意してください。これにより、クライアントによって提供されたコールバック関数が応答のカプセル化に使用されることが保証されます。

HTML 結果の処理

提供された例は主に JSON データの交換を示していますが、 JSONP は HTML コンテンツの送信にも使用できることに注意してください。これに対応するには、PHP スクリプトがコールバック関数で HTML をラップし、それを応答として送信するようにするだけです。クライアント側の JavaScript は、必要に応じて HTML を解析してレンダリングできます。

以上がjQuery と PHP は、JSONP を使用したクロスオリジン リクエストをどのように促進できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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