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设置首页和收藏页面的小例子
Nov 11 Javascript
tuzhu_req.js 实现仿百度图片首页效果
Aug 11 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
Javascript的表单与验证-非空验证
Mar 18 Javascript
JS学习之表格的排序简单实例
May 16 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
May 25 Javascript
AngularJS ng-bind 指令简单实现
Jul 30 Javascript
浅谈js键盘事件全面控制
Dec 01 Javascript
vue 中动态绑定class 和 style的方法代码详解
Jun 01 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
ES6中Set和Map用法实例详解
Mar 02 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 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
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
php调整服务器时间的方法
2015/04/03 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
Python魔术方法详解
2015/02/14 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python lxml中etree的简单应用
2019/05/10 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
同学会主持词
2014/03/18 职场文书
篮球比赛口号
2014/06/10 职场文书
安全检查汇报材料
2014/12/26 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python