首页 > 解决方案 > JSON 通过 Insomnia 发送,但 PHP 接收到一个空数组

问题描述

我正在使用 Insomnia Rest 来模拟发送到后端的前端 JSON 数据。我也用 Postman 测试过,问题是一样的:

我通过 POST 将 JSON 数据发送到后端,当我打印 $_POST 变量中的内容时,它是空的。

在此处输入图像描述

我尝试了 print_r()、json_decode/json_encode 方法、echo、die() 等。它们都不起作用。有两种方法可以处理这些 HTTP 请求:

1)通过“FORM URL Encoded”发送——这个效果很好。问题是它只接受简单的数据。例如,不可能创建对象,在许多情况下,使用对象非常重要;

在此处输入图像描述

2) 如前所述,通过 JSON 发送,但在 PHP 中我需要使用:

$json = file_get_contents("php://input");

好吧,在这种情况下,我已经使用 json_encode/json_decode 编写了超过 1000 行的代码。基于这种情况,JavaScript 和 PHP 似乎完成了发送和接收 JSON 数据所需的所有转换,因此 HTTP 模拟软件没有。

有没有人遇到过一些事情并想出了一些解决方法?

标签: phpjsonrestpostinsomnia

解决方案


推荐阅读