将 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
- 使用格式“variable_name=value&variable_name_2=”编写标准 POST 字符串value_2"。
- 在 Javascript 中,将此字符串分配给 str_json。
- 在 PHP 中,PHP 的 $_POST 数组将在收到 POST 数据后填充。
要避免的陷阱
最初,尝试使用不正确的请求标头传输 JSON 字符串可能会导致困难。在 PHP 中将 application/x-www-form-urlencoded 与 $_POST 数组一起使用将导致空数组。相反,利用 application/json 需要通过 php://input 访问原始 POST 数据。
参考文献
- [如何在 PHP 中访问 POST 数据?] (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中文网其他相关文章!