JavaScript から PHP への JSON データの送信
解析のためにブラウザ上の JavaScript から PHP サーバーに JSON データを転送するには、いくつかの方法があります。 Methods.
方法 A: application/json ヘッダーを使用する
- JavaScript で、JSON.stringify() を使用してオブジェクトを JSON 文字列に変換します。
- application/json ヘッダーを持つ XMLHttpRequest を使用して JSON 文字列をサーバーに送信します。
request.setRequestHeader("Content-type", "application/json");
request.send(str_json);
ログイン後にコピー
- PHP サーバーで、file_get_contents('php を使用して生の POST データを読み取ります) ://input') を使用して JSON 文字列を取得します。
方法 B: application/x-www-form-urlencoded ヘッダーを使用する
- JSON.stringify() と形式 json_string=....
- を使用して、JSON オブジェクトを標準 POST 文字列に変換します。 application/x-www-form-urlencoded を指定した XMLHttpRequest を使用して、POST 文字列をサーバーに送信します。 header.
- PHP では、$_POST['json_string'] 配列から JSON 文字列にアクセスします。 json_decode() を使用して、取得した JSON 文字列を解析します。
落とし穴:
application/x-www-form- で JSON 文字列を送信しようとしています。 urlencode されたヘッダーに $_POST 経由でアクセスすると、PHP は yval=xval& のデータを期待するため、空の配列になります。形式。したがって、application/json ヘッダーを使用する場合は、php://input を使用して生の POST データにアクセスします。
追加リソース:
- [POST へのアクセス方法] PHP のデータ](https://www.php.net/manual/en/features.http-post-vars.php)
- [RFC 4627: JSON の application/json メディア タイプ](http ://www.ietf.org/rfc/rfc4627.txt)
以上がJSON データを JavaScript から PHP に送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。