错误原因

首先使用在线http查看一下状态:

HTTP接口测试工具-在线模拟HTTP请求

我这里测试自己的网址:http://esp.daobanmojie.com/esp-data-get.php?id=1

Header返回头:

Response header:
HTTP / 1.1 200 OK
Server=nginx
Date=Tue, 09 Mar 2021 13:18:33 GMT
Content-Type=text/html; charset=UTF-8
Transfer-Encoding=chunked
Connection=keep-alive
Vary=Accept-Encoding
Content-Encoding=

Response Text 返回值:

 {
    "id": "1",
    "name": "DaoBanMoJie",
    "str1": "www.daobanmojie.com\t",
    "value1": "1991",
    "time_update": "2021-03-09 14:00:02",
    "time_create": "2021-03-08 17:46:37"
}

这里看到是有返回值的,但是Transfer-Encoding=chunked而且没有Content-Length项。
那么问题很明显就是返回头中不知道Content-Length长度。

解决办法

php文件中,在返回结果之前编辑一下返回头

$json = json_encode($arr, JSON_PRETTY_PRINT);    // 格式化输出
header('Content-Length: '.strlen($json ));
exit($json );

之后查看一下返回头:

Response header
Server : nginx
Connection : close
Content-Length : 187
Date : Tue, 09 Mar 2021 13:29:09 GMT
Content-Type : text/html; charset=UTF-8
最后修改:2021 年 03 月 09 日
男宾一位~ 欢迎下次再来!