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获取作用在元素上面的样式属性代码
Sep 20 Javascript
js自定义事件及事件交互原理概述(二)
Feb 01 Javascript
jQuery实现防止提交按钮被双击的方法
Mar 24 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
Vue组件开发技巧总结
Mar 04 Javascript
webpack4的迁移的使用方法
May 25 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
swiper自定义分页器的样式
Sep 14 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
截获网站title标签之家内容的例子
2006/10/09 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
基于JQUERY的多级联动代码
2012/01/24 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
python实现自动登录
2018/09/17 Python
python实现多进程代码示例
2018/10/31 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
大学毕业感言一句话
2014/02/06 职场文书
年会搞笑主持词
2014/03/27 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
解决python3安装pandas出错的问题
2021/05/20 Python
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers