JS 调试中常见的报错问题解决方法


Posted in Javascript onMay 20, 2017

报错:Uncaught SyntaxError: Unexpected token o in JSON at position 1

at JSON.parse (<anonymous>)
at Function.m.parseJSON (jquery.js:8515)
at Object.success (crud.html:45)
at j (jquery.js:3143)
at Object.fireWith [as resolveWith] (jquery.js:3255)
at x (jquery.js:9309)
at XMLHttpRequest.b (jquery.js:9713)

(翻译:不能捕获的语法错误:json数据位置0处发现不能识别的标记<)

原因:json格式错误

返回数据 语句用echo json_encode($data,true);但是用了echo json_decode($data);
由于函数使用不对,返回的data不是json数据,第一个字符是“ <”,所以报错Unexpected token < in JSON at position 0(翻译:json数据位置0处发现不能识别的标记<);

如果使用 $.ajax({})而不是 $.get() 区别: 当使用 $.ajax 时,php返回的 JSON字符串已经被 ajax 中的属性 dataType 将请求的参数类型要求为String类型(dataType:'json')返回为 JSON对象,不需要再次转换;当使用 $.get 时,服务器返回的数据格式为原始的字符串数组,因此,需要将返回的字符串转换为数组,使用 JSON.parse(jsonString) ,将JSON字符串解析为JSON对象;

json教程见:http://www.w3school.com.cn/json/index.asp

解决办法:

修改为echo json_encode($data,true);

将php的代码调试代码 echo()去掉,就不会再报这样的错误了:

$json = json_encode(array(
      "resultCode"=>200,
      "message"=>"查询成功!",
      "data"=>$data
    ),JSON_UNESCAPED_UNICODE);
    
    //注释掉
    /*echo($json);*/

如果使用 $.ajax 时,不需要注释

//不需要注释
echo($json);

如果不是该问题,请检查php文件给返回的data数据,是否标准json格式。如果php文件中有var_dump、echo、注释等,都会对返回的json数据有影响。

以上这篇JS 调试中常见的报错问题解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中的prototype属性实例分析说明
Aug 09 Javascript
jQuery实现购物车多物品数量的加减+总价计算
Jun 06 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
Mar 02 Javascript
Vue.js每天必学之Class与样式绑定
Sep 05 Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
May 20 #Javascript
ztree实现权限横向显示功能
May 20 #Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 #Javascript
在使用JSON格式处理数据时应该注意的问题小结
May 20 #Javascript
微信小程序利用co处理异步流程的方法教程
May 20 #Javascript
关于jQuery库冲突的完美解决办法
May 20 #jQuery
layui文件上传实现代码
May 20 #Javascript
You might like
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
vue实现选中效果
2020/10/07 Javascript
python检测服务器是否正常
2014/02/16 Python
python time模块用法实例详解
2014/09/11 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
办公设备采购方案
2014/03/16 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
学校节能减排倡议书
2014/05/16 职场文书
旷课检讨书范文
2015/01/27 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
2015年预算员工作总结
2015/05/14 职场文书
公司档案管理制度
2015/08/05 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
Python 数据可视化之Matplotlib详解
2021/11/02 Python