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 相关文章推荐
基于JQuery的6个Tab选项卡插件
Sep 03 Javascript
JavaScript设置首页和收藏页面的小例子
Nov 11 Javascript
JS获取url链接字符串 location.href
Dec 23 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
Dec 26 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
layui文件上传实现代码
May 20 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 Javascript
vue中引入第三方字体文件的方法示例
Dec 17 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
详解使用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
提取HTML标签
2006/10/09 PHP
php array_search() 函数使用
2010/04/13 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
PHP中的事务使用实例
2015/05/26 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
srcElement表格样式
2006/09/03 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
Python中无限元素列表的实现方法
2014/08/18 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python机器学习之决策树算法
2017/12/22 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
详解Python学习之安装pandas
2019/04/16 Python
python 如何停止一个死循环的线程
2020/11/24 Python
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
软件工程师面试题
2012/06/25 面试题
机电专业毕业生求职信
2013/10/27 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
设计大赛策划方案
2014/06/13 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python