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 相关文章推荐
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
Apr 10 Javascript
jQuery 无限级菜单的简单实例
Feb 21 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
Apr 22 Javascript
element-ui 限制日期选择的方法(datepicker)
May 16 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 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中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Python类的继承用法示例
2019/01/31 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
使用Python实现分别输出每个数组
2019/12/06 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
Python3如何判断三角形的类型
2020/04/12 Python
python与pycharm有何区别
2020/07/01 Python
python 装饰器的使用示例
2020/10/10 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
检察官就职演讲稿
2014/01/13 职场文书
经典英文广告词
2014/03/18 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
运动会100米加油稿
2015/07/21 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS