【发布时间】:2016-12-24 18:52:50
【问题描述】:
我有 Postman(不能在 Chrome 中打开的那个),我正在尝试使用原始 JSON 进行 POST 请求。
在“正文”选项卡中,我选择了“原始”并使用此正文选择了“JSON(应用程序/json)”:
{
"foo": "bar"
}
对于标题我有 1,Content-Type: application/json
在 PHP 方面,我现在只是在做 print_r($_POST);,我得到一个空数组。
如果我使用 jQuery 并且这样做:
$.ajax({
"type": "POST",
"url": "/rest/index.php",
"data": {
"foo": "bar"
}
}).done(function (d) {
console.log(d);
});
我得到了预期:
Array
(
[foo] => bar
)
那么为什么不使用 Postman 呢?
邮递员截图:
和标题:
【问题讨论】:
-
尝试 $_REQUEST 代替 $_POST 和 var_dump() 代替 print_r()
-
@Deep 我用 jQuery 得到了
array(1) {["foo"]=> string(3) "bar"},而 Postman 仍然是一个空数组:array(0) {} -
所以邮递员没有发送请求
-
@smerny 在您的帖子中
fields和foo不匹配,因此它不起作用,我不确定这是否是错字,但请确保它们匹配 -
@meda,没错,这是一个错字,但如果我有字段,它仍然应该在 $_REQUEST 或 $_POST 的 var 转储中输出