php - 将 JSON 发布到 PHP 脚本

标签 php javascript json post

我在尝试将 JSONjavascript 发送到 PHP 脚本时遇到了很长一段时间:发送正常(我可以在 fiddler 中查看 JSON)但我在 PHP 脚本 中没有收到任何内容:

javascript:

var person = {
  name: 'yoel',
  age: 28
};
xmlhttp.open("POST","http://localhost:8888/statisticsdb.php",true);
xmlhttp.setRequestHeader("Content-Type", "application/json");
xmlhttp.send(JSON.stringify(person));   

php :

echo 'trying to print ' . var_dump($_POST["name"]);

我显然希望看到一些东西,但 var_dump 什么也没返回。非常感谢您的帮助!

最佳答案

尝试:

$data = json_decode(file_get_contents('php://input'));
var_dump($data->name);

这样做的原因是,您的 POST 请求的主体是:

{"name":"yoel","age":28}

不过,php 期望类似 ( ref ):

name=yoel&age=28

json字符串无法正确解析,导致$_POST为空。

关于php - 将 JSON 发布到 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12249358/

相关文章:

javascript - Java 与 JavaScript 拆分行为

PHP 分页与 PDO 不起作用

javascript - %%javascript 在 Windows 的 Jupyter 笔记本中不起作用

php - 跨页面混合 PHP 和 CSS

javascript - CSS 类的命名空间/前缀,在 Javascript 和 (S)CSS 之间共享

wcf - 替换WCF默认JSON序列化

javascript - 如何导出 JSON 文件中的对象数组,然后使用 es6 导入

json - 为什么 RestTemplate 不将响应表示绑定(bind)到 PagedResources?

php - Woocommerce 不同的产品模板

php - 在 php - mysql 中嵌套 "group by"和 "for (each)"语句