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 相关文章推荐
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
Jun 19 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
May 19 Javascript
jQuery中detach()方法用法实例
Dec 25 Javascript
超详细的JS弹出窗口代码大全
Apr 18 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
JavaScript中闭包的详解
Apr 01 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
vue2.0 和 animate.css的结合使用
Dec 12 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
Dec 20 Javascript
Vue底层实现原理总结
Feb 17 Javascript
基于JavaScript的数据结构队列动画实现示例解析
Aug 06 Javascript
使用compose函数优化代码提高可读性及扩展性
Jun 16 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
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
Python实现多并发访问网站功能示例
2017/06/19 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python 写一个文件分发小程序
2020/12/05 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
外科实习自我鉴定
2013/10/06 职场文书
开业庆典邀请函
2014/01/08 职场文书
校园广播稿500字
2014/02/04 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
幼儿园感谢信
2015/01/21 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers
win7配置本地ftp服务器的图文教程
2022/08/05 Servers