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 JavaScript获取Url参数,src属性参数
Mar 09 Javascript
jQuery 学习入门篇附实例代码
Mar 16 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
js实现网站首页图片滚动显示
Feb 04 Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
深入理解vue2.0路由如何配置问题
Jul 18 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
详解Vue路由自动注入实践
Apr 17 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
微信小程序实现点击卡片 翻转效果
Sep 04 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 调试工具Debug Tools
2011/04/30 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
python实现的系统实用log类实例
2015/06/30 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
Python3进制之间的转换代码实例
2019/08/24 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
自主招生自荐书
2013/11/29 职场文书
高中生期末评语
2014/01/28 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python