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之锁定表格栏位
Jun 29 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
Feb 27 Javascript
可恶的ie8提示缺少id未定义
Mar 20 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
vue模板语法-插值详解
Mar 06 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
javascript字体颜色控件的开发 JS实现字体控制
Nov 27 Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 Javascript
vue实现户籍管理系统
May 29 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 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
漂亮但不安全的CTB
2006/10/09 PHP
mysql5写入和读出乱码解决
2006/11/25 PHP
帖几个PHP的无限分类实现想法~
2007/01/02 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
JavaScript中的this实例分析
2011/04/28 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python实现在windows服务中新建进程的方法
2015/06/30 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
师范生自荐信
2013/10/27 职场文书
个人自我评价分享
2013/12/20 职场文书
竞争上岗实施方案
2014/03/21 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
回复函格式及范文
2015/07/14 职场文书
预备党员表决心的话
2015/09/22 职场文书