将 JSON 数据从 JavaScript 发送到 PHP
将 JSON 数据从浏览器上的 JavaScript 传输到 PHP 服务器进行解析可以通过以下几种方式实现方法。
方法A:使用application/json Header
- 在 JavaScript 中,使用 JSON.stringify() 将对象转换为 JSON 字符串。
- 使用带有 application/json 的 XMLHttpRequest 将 JSON 字符串发送到服务器header:
request.setRequestHeader("Content-type", "application/json");
request.send(str_json);
登录后复制
- 在 PHP 服务器上,使用以下命令读取原始 POST 数据file_get_contents('php://input') 获取 JSON 字符串。
方法 B:使用 application/x-www-form-urlencoded Header
- 使用 JSON.stringify() 和格式将 JSON 对象转换为标准 POST 字符串json_string=....
- 使用带有 application/x-www-form-urlencoded 标头的 XMLHttpRequest 将 POST 字符串发送到服务器。
- 在 PHP 中,从 $ 访问 JSON 字符串_POST['json_string'] 数组。使用 json_decode() 解析检索到的 JSON 字符串。
陷阱:
尝试使用 application/x-www-form- 发送 JSON 字符串- urlencoded 标头,然后通过 $_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中文网其他相关文章!