Send POST data via raw JSONwith Postman(使用 Postman 通过原始 JSON 发送 POST 数据)
问题描述
我有 Postman(不能在 Chrome 中打开的那个),我正在尝试使用原始 JSON 发出 POST 请求.
I've got Postman (the one that doesn't open in Chrome) and I'm trying to do a POST request using raw JSON.
在正文"选项卡中,我有原始"选项卡.选择和JSON(应用程序/json)";用这个身体:
In the Body tab I have "raw" selected and "JSON (application/json)" with this body:
{
"foo": "bar"
}
对于我有 1 的标题,Content-Type: application/json
For the header I have 1, Content-Type: application/json
在 PHP 方面,我现在只是在做 print_r($_POST);
,我得到一个空数组.
On the PHP side I'm just doing print_r($_POST);
for now, and I'm getting an empty array.
如果我使用 jQuery 并且这样做:
If I use jQuery and do:
$.ajax({
"type": "POST",
"url": "/rest/index.php",
"data": {
"foo": "bar"
}
}).done(function (d) {
console.log(d);
});
我得到了预期:
Array
(
[foo] => bar
)
那么为什么不使用 Postman 呢?
So why isn't it working with Postman?
邮递员截图:
和标题:
推荐答案
与 jQuery
不同,为了读取原始 JSON
,您需要在 PHP 中对其进行解码.
Unlike jQuery
in order to read raw JSON
you will need to decode it in PHP.
print_r(json_decode(file_get_contents("php://input"), true));
php://input
是一个只读流,允许您从请求正文中读取原始数据.
php://input
is a read-only stream that allows you to read raw data from the request body.
$_POST
是表单变量,您需要切换到 postman
中的 form
单选按钮,然后使用:
$_POST
is form variables, you will need to switch to form
radiobutton in postman
then use:
foo=bar&foo2=bar2
使用 jquery
发布原始 json
:
$.ajax({
"url": "/rest/index.php",
'data': JSON.stringify({foo:'bar'}),
'type': 'POST',
'contentType': 'application/json'
});
这篇关于使用 Postman 通过原始 JSON 发送 POST 数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 Postman 通过原始 JSON 发送 POST 数据
基础教程推荐
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01