使用Postman通过原始JSON发送POST数据

2022-08-30 06:52:23

我有Postman(在Chrome中不打开的那个),我正在尝试使用原始JSON进行POST请求。

在“正文”选项卡中,我选择了“raw”和“JSON(application/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合作呢?


邮递员截图:

enter image description here

和标头:

enter image description here


答案 1

只需从二进制旁边的下拉列表中检查JSON选项;当您单击原始时。这应该可以

skill synon pass json to postman


答案 2

与原始读取不同,您需要在PHP中对其进行解码。jQueryJSON

print_r(json_decode(file_get_contents("php://input"), true));

php://input是一个只读流,允许您从请求正文中读取原始数据。

$_POST是形式变量,您需要切换到单选按钮,然后使用:formpostman

foo=bar&foo2=bar2

要发布原始内容:jsonjquery

$.ajax({
    "url": "/rest/index.php",
    'data': JSON.stringify({foo:'bar'}),
    'type': 'POST',
    'contentType': 'application/json'
});

推荐