将 JSON 数据从 Javascript 发送到 PHP
当尝试将 JSON 数据从浏览器的 Javascript 环境中继到 PHP 所在的服务器时,就会出现挑战会解释它。为了解决这个问题,有两种方法被证明是有效的:
版本 1:利用 application/json 请求标头
- 使用 JSON 将 Javascript 对象转换为 JSON 字符串.stringify().
- 利用 XMLHttpRequest 将 JSON 字符串分派到服务器。
- 在 PHP 端,使用 file_get_contents('php://input') 检索原始 POST 数据。
版本 2:使用 application/x- www-form-urlencoded
- 使用以下内容组成标准 POST 字符串格式为“variable_name=value&variable_name_2=value_2”。
- 在 Javascript 中,将此字符串分配给 str_json。
- 在 PHP 中,PHP 的 $_POST 数组将在收到 POST 数据后填充。
陷阱避免
最初,尝试使用不正确的请求标头传输 JSON 字符串可能会导致困难。在 PHP 中将 application/x-www-form-urlencoded 与 $_POST 数组一起使用将导致空数组。相反,利用 application/json 需要通过 php://input 访问原始 POST 数据。
参考文献
- [如何访问 POST 数据PHP?](https://stackoverflow.com/questions/4199290/how-to-access-post-data-in-php)
- [IETF RFC 4627:JavaScript 对象的 application/json 媒体类型表示法(JSON)](http://www.ietf.org/rfc/rfc4627.txt)
以上是如何将 JSON 数据从 JavaScript 发送到 PHP:两种有效的方法?的详细内容。更多信息请关注PHP中文网其他相关文章!