Uncaught SyntaxError: Unexpected token in JSON at position 0

1 篇文章 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格式问题,请在浏览器里面调试检查。
--------------------- 
作者:wyx100 
来源:CSDN 
原文:https://blog.csdn.net/wyx100/article/details/55802812 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值