JS 调试中常见的报错问题解决方法
报错: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错误的解决方案
A 使用alert() 和document.write() 方法监视变量值 如果要中断代码的运行,监视变量的值,则使用alert() 方法: 如果需要查看的值很多,则使用document.write() 方法,避免反复单击"确定"按钮: B 使用window.onerror 事件 当页面出现异常时,onerror 事件会在window 对象上触发.它能在一定程度上告诉开发者相关的错误信息. 示例: 复制代码 代码如下: <script type="text/javasc
-
JavaScript 错误处理与调试经验总结
下面总结一下JS错误处理与调试的方法 方法1:用alert() 和document.write()方法监视变量值. alert()在弹出对话框显示变量值的同时,会停止代码的继续运行,直到用户单击"确定"按钮,而document.write()则在输出值后继续运行代码.调试JS时可以根据具体情况来选择这种方法. 例如下面代码:将数组a中以1开头的数据添加到数组b中 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
-
JS中的异常处理方法分享
js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好) 复制代码 代码如下: window.onerror=function(){return true;} 下面是为了获取js异常信息,方便开发者找回问题 1,try...catch... 复制代码 代码如下: <script type="text/javascript">var txt=""function message(){try { adddlert
-
JS 调试中常见的报错问题解决方法
报错: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文件在eclipse下报错问题解决方法
在工程中导入jquery-1.7.1之后一直有一个红叉叉,虽然不会影响程序功能,但是看着非常不舒服,而且在提交项目代码到SVN服务器的时候有提示,决心把这红叉叉给搞掉.网上搜了下基本都不能解决问题,然后在尝试各种方式之后发现下面的方法可行: 1右击工程,选择property. 2在弹出的界面中选择Validation 3点击右边的JavaScript Syntax Validator的Settings 4在弹出的窗口中点击Add Exclude Group 5在Exclude Group中把jq
-
关于IDEA2020.1新建项目maven PKIX 报错问题解决方法
报错问题如图: 仔细看报错问题后发现,这个错误的主要原因是: ValidatorException:PKIX path building failed : sun.security.provider.certpath.SunCertPathBuilderException : unable to find valid certification path to requested target 造成这个错误的原因是因为有些依赖和插件下载的时候需要验证证书,网上找了好多资料最终解决的,我这里集合了
-
教你解决往mysql数据库中存入汉字报错的方法
一.遇到的问题 在向数据库中存入汉字时遇到这样的问题: Cause: java.sql.SQLException: Incorrect string value: '\xE6\x9F\xAF\xE5\x8D\x97' for column 'user_name' at row 1 二.分析问题 这是由于数据库设计有问题导致的,当初创建数据库的时候直接选择的默认,没有修改为utf-8,后来尝试手动修改还是不行. 尝试把数据库和表的默认字段改为utf8,但是还是不能存汉字. 三.真正的问题 真正的问
-
IDEA 2021.2 激活教程及启动报错问题解决方法
关于idea2021最新激活教程,请点击此处,获取最新激活教程 还有一种激活方法,点击此处获取吧 ! 下面看下IDEA 2021.2 启动报错问题解决方法,内容如下所示: 错误信息如下: Plugin 'some.awesome' failed to initialize and will be disabled. Please restart IntelliJ IDEA. java.lang.NullPointerException at NyanApplicationComponen
-
CentOS 6.5上的Tomcat启动报错问题解决方法
这里有两个错误: 1.第一个错误,APR的问题,错误详情: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 2.第二个错误,错误详情: Exception in thread "main" java.lang.InternalError
-
centOS7下mysql插入中文字符报错问题解决方法
在刚装完mysql,就建立了数据库abc,然后新建一个abc表,插入英文没有问题,但是插入中文就有问题,会报错: ERROR 1366 (HY000): Incorrect string value: '\xE4\xBD\x99\xE9\x93\xB6...' 应该是数据库编码问题,所以应该改数据库编码 这里有2中方法.一种是直接敲代码设置,一种是在CentOS7中修改文件/usr/my.cnf, 第一种方法: 列出数据库的编码表 mysql> show variables like '%cha
-
详解Anaconda安装tensorflow报错问题解决方法
最近脱离了googlecolab想使用本地的anaconda进行机器学习课题的演练,在安装tensorflow时报错 : UnsatisfiableError: The following specifications were found.下面给出解决方法. 发现实际原因是由于anaconda的python环境,当前版本的tensorflow只能适用于python 3.5 3.6 3.7等衍生版本,而anaconda自带的python版本为3.8. 首先打开控制台 使用以下命令可以查看当前的a
-
webstorm和.vue中es6语法报错的解决方法
1.webstorm中es6语法报错,解决方法: 打开 Settings => Languages & Frameworks => Javascript 把 Javascript Language version 改为 ECMAScript 6 这样做所有的.js文件中es6不再报错,但是.vue文件中es6语法依然报错. 2. .vue文件中es6语法报错 (1)打开 Settings => File Types 找到 HTML 添加 *.vue 这样vue文件就相当于html
-
vue踩坑记之npm install报错问题解决总结
目录 前言 常见的有以下多种情况 总结 前言 很多时候安装npm install 的时候并不能直接将当前的node_modules直接一键安装到本地. 总是会出现各种各样的报错 常见的有以下多种情况 tip1:本地node 跟npm 版本不匹配,项目创建者当时的版本为14 ,而新开发者本地node默认为最新需要重新降低版本,使用cmd打开查看本地node和npm版本,询问一下同事的版本,直接去node官网重新 下载安装新的node安装包即可,或者如果本地有多个新老项目为了方便的管理各个node的
随机推荐
- Shell脚本实现的单机流量统计功能
- Nginx根据不同浏览器语言配置页面跳转的方法
- java中的Struts2拦截器详解
- 彻底解决Spring MVC中文乱码问题的方案
- 在Android的应用中实现网络图片异步加载的方法
- 用JavaScript获取页面文档内容的实现代码
- js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
- PHP中使用数组实现堆栈数据结构的代码
- C# 连接SQL数据库的方法及常用连接字符串
- 使用Node.js配合Nginx实现高负载网络
- Android实现带磁性的悬浮窗体效果
- jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
- jQuery实现的placeholder效果完整实例
- C#实现系统托盘通知的方法
- Linux下查看进程打开的文件句柄数和如何修改方法
- Android 自定义组件卫星菜单的实现
- ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
- javascript 鼠标拖动图标技术
- php面向对象全攻略 (二) 实例化对象 使用对象成员
- 使用JS模拟锚点跳转的实例