chunked 引起 Ajax 报错,ajax 乱码 ,php 输出json结果js报格式错误
web编程

在用jQuery 的 Ajax 取得数据 时出现这种错误:
SyntaxError: JSON.parse: unexpected character at line column of the JSON dat

PHP端输出没有问题,非常简单

Ajax获取的数据为下图:

平白多了16 与 0,内容变成不可读,而实际内容为 -1

这种问题如果不是亲身经历,给两个百度都查不到原因

第一反应是编码了,在经历几小时的研究和痛苦的资料查找。

终于发现了问题所在:

HTTP协议的chunked编码引的,chunked是http头部一个很特殊的东西,现代浏览器都支持解析Transfer-Encoding:chunked,chunked能更快的让页面呈现出来,因为它能分段下载,浏览器分段解析,对于大页面,这显然提高了可用性,可以害苦了咱们Ajax

解决办法,在nginx中关闭这个功能即可:

写给很亲苦,如果给你带来了帮助,记得在下面给我打赏,转载请注明转自妮妮网(niein.com)

扫码或长按二维码支付
分享按钮

发表评论