JS报错解决:SyntaxError: Unexpected token 《 in JSON at position 0
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json

·
ThinkPHP5.1
的环境要求如下:
- PHP >= 5.6.0
- PDO PHP Extension
- MBstring PHP Extension
最近下载了tp 5.1.19来玩,造轮子难免会遇到坑。
今天又遇到js报错:SyntaxError: Unexpected token < in JSON at position 0。根据网上的说法“json格式问题”,各种json_encode()、var_dump()检查json格式,却不能解决问题。
后面在调试信息中,无意发现以下信息:
<br />
<b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>Unknown</b> on line <b>0</b><br />
"{\"code\":0,\"msg\":\"\\u83b7\\u53d6\\u6210\\u529f\\uff01\"}"
通过上网查询Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be remov得知关于【在高版本 php 的发版说明中都有 $HTTP_RAW_POST_DATA 即将(已经)取消,请改用从 php://input 中读取 的声明】,找到对应的解决方法:
打开php.ini配置文件,找到以下代码
1 |
|
改成
1 |
|
最后重启环境即可。
备注:有部分大佬表示$HTTP_RAW_POST_DATA 已经废弃了,所以应该使用file_get_contents('php://input');来获取。由于上面方法已经解决我的问题,所以并没有测试这种方法。在这里发出来,仅供大家参考。




适用于现代 C++ 的 JSON。
最近提交(Master分支:6 个月前 )
51a77f1d
7 小时前
756ca22e
7 小时前
更多推荐
所有评论(0)