サーバーサイド言語として、PHP は通常、フロントエンドと対話するときに JSON 形式を使用してデータを送信します。 JSON (JavaScript Object Notation) は軽量のデータ交換形式であり、そのシンプルさ、理解しやすさ、使いやすさにより、Web 開発で一般的に使用されるデータ送信形式となっています。フロントエンドで JSON を使用する場合、通常は JSON.stringify() メソッドを使用してデータを JSON 形式に変換し、ajax やその他のメソッドを通じてリクエストを送信します。バックエンドはこれらのリクエストを受信して処理するために PHP を使用する必要があります。 get、post、ajax などのメソッドが含まれます。この記事では、PHPでフロントのJSON配列を取得する方法を紹介します。
通常、フロントエンドが ajax を使用して POST リクエストを送信すると、JSON データはリクエストのデータ部分としてバックエンドに送信されます。 PHP では、このデータは $_POST メソッドを使用して取得できます。たとえば、フロントエンドの Ajax コードは次のとおりです。
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });
バックグラウンドの test.php ファイルで、$_POST メソッドを使用して、フロントエンドによって送信された JSON データを取得できます。 ##
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>このうち、file_get_contents("php ://input") メソッドは POST リクエストのデータを取得でき、json_decode メソッドはデータを PHP 配列にデコードし、最後に print_r 関数を使用して配列を出力します。コンソールに。
$.ajax({ type: "GET", url: "test.php", data: {"name": "John", "age": 25}, contentType: "application/json", success: function(data) { console.log(data); } });バックグラウンドの test.php ファイルで、$_GET メソッドを使用して、フロントエンドによって送信された JSON データを取得できます。ただし、GET リクエストのデータはサーバーに直接送信されず、URL の後のクエリ文字列に追加されるため、このデータに対して特定の処理が必要です。たとえば、JSON データが Base64 でエンコードされて URL に追加される場合、元の JSON データを取得する前に、バックグラウンドでクエリ文字列をデコードして解析する必要があります。サンプル コードは次のとおりです。 フロントエンド コード:
$.ajax({ type: "GET", url: "test.php", data: {"json": btoa(JSON.stringify({"name": "John", "age": 25}))}, contentType: "application/json", success: function(data) { console.log(data); } });バックエンド コード:
<?php $json = json_decode(base64_decode($_GET["json"]), true); print_r($json); ?>この例では、btoa( ) メソッドを作成し、Backstage に渡します。バックグラウンドでは、base64_decode() メソッドを使用してクエリ文字列をデコードし、デコードされた JSON データを json_decode() メソッドを通じて PHP 配列に解析し、最後にコンソールに出力します。
$.ajax({ type: "POST", url: "test.php", data: JSON.stringify({"name": "John", "age": 25}), contentType: "application/json", success: function(data) { console.log(data); } });バックグラウンドの test.php ファイルでは、file_get_contents メソッドを使用して、フロントエンドによって送信された JSON データを直接取得できます。 json_decode メソッドを使用して、それを PHP 配列にデコードします。
<?php $data = json_decode(file_get_contents("php://input"), true); print_r($data); ?>file_get_contents メソッドを使用して GET リクエストのデータを取得することもできますが、使用する場合は、allow_url_fopen 設定項目をオンにする必要があるため、実際の開発での使用は推奨されません。 概要上記は、PHP でフロントエンド JSON 配列を取得するための一般的なメソッドです。その中でも、$_POST メソッドと file_get_contents メソッドがより一般的です。$_GET を使用した JSON データの取得追加のエンコードが必要であり、デコード操作は比較的面倒です。実際の開発では、データをより適切に処理するために、特定のニーズに応じてフロントエンド JSON 配列を取得する適切な方法を選択できます。
以上がPHPでフロントエンドのJSON配列を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。