解决方法 Uncaught SyntaxError: Unexpected token < in JSON at position 0
Posted wyx100
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决方法 Uncaught SyntaxError: Unexpected token < in JSON at position 0相关的知识,希望对你有一定的参考价值。
win7 操作系统 php5.4和phpstorm8.3 (php集成开发环境,可以编辑调试)开发遇到问题
$(function()
var g_table = $("table.data");
var init_data_url = "data.php?action=init_data_list";
$.get(init_data_url,function(data)
var row_items = $.parseJSON(data); //报错如下
for( var i = 0 , j = row_items.length ; i < j ; i++)
var data_dom = create_row(row_items[i]);
g_table.append(data_dom);
);
报错:
Uncaught SyntaxError: Unexpected token < in JSON at position 0
(翻译:不能捕获的语法错误:json数据位置0处发现不能识别的标记<)
at Function.parse [as parseJSON] (<anonymous>)at Object.success (course.js:5)
at fire (jquery-3.1.1.js:3305)
at Object.fireWith [as resolveWith] (jquery-3.1.1.js:3435)
at done (jquery-3.1.1.js:9242)
at XMLHttpRequest.<anonymous> (jquery-3.1.1.js:9484)
原因:json格式错误
返回数据 语句用echo json_encode($data,true);但是用了echo json_decode($data);
由于函数使用不对,返回的data不是json数据,第一个字符是“ <”,所以报错Unexpected token < in JSON at position 0(翻译:json数据位置0处发现不能识别的标记<)。
json教程见:http://www.w3school.com.cn/json/index.asp
json样例如下:
"employees": [
"firstName":"Bill" , "lastName":"Gates" ,
"firstName":"George" , "lastName":"Bush" ,
"firstName":"Thomas" , "lastName":"Carter"
]
解决办法:
修改为echo json_encode($data,true);
如果不是该问题,请检查php文件给返回的data数据,是否标准json格式。如果php文件中有var_dump、echo、注释等,都会对返回的json数据有影响。
一般报该错误,基本是数据json格式问题,请在浏览器里面调试检查。
以上是关于解决方法 Uncaught SyntaxError: Unexpected token < in JSON at position 0的主要内容,如果未能解决你的问题,请参考以下文章
jsonp 跨域Uncaught SyntaxError: Unexpected token :解决方法
VUE中页面F5刷新空白并报错报错:Uncaught SyntaxError: Unexpected token <解决方法
解决方法 Uncaught SyntaxError: Unexpected token < in JSON at position 0
无法解决错误“Uncaught SyntaxError: Unexpected token o”
Easyui在form表单提交的时候,如果有datebox报 Uncaught SyntaxError: Unexpected token < 的解决