jquery ajax 调用失败的原因示例介绍


Posted in Javascript onSeptember 27, 2013

下面是一个完事的函数:

function ReLoadPromotion() { 
var A = parseFloat($("#pNormalTotal").html()) + parseFloat($("#pBarginTotal").html()); 
jQuery.ajax( 
{ 
url: "/ajax/OrderRedemption.aspx?vf=getlist", 
type: "POST", 
dataType: "json", 
data:{amount:A}, 
success: function (json) { 
$("#fittingProductList tr.tableItem").remove(); 
var data = json.list; 
$.each(data, function (i, n) { 
var id = n.pid; 
var row = "<tr id=\"trPromotin" + id + "\" class=\"tableItem\">"; 
row += "<td><input id=\"cbPromotionItem" + id + "\" type=\"checkbox\" value=\"" + n.pid + "\" name=\"promotionProduct\" title=\"" + n.price + "\" onclick=\"CalculateOrder()\" /></td>"; 
row += "<td><label for=\"cbPromotionItem" + id + "\">" + n.pname + "</label></td>"; 
row += "<td>满" + n.amount + "</td>"; 
row += "<td>" + n.price + "</td>"; 
row += "</tr>"; 
$("#fittingProductList").append(row); 
}); 
$("#promotionArea").slideDown(); 
CalculateOrder(); 
}, 
error: function (xml) { //alert(arguments[1]); 
var json = eval("(" + xml.responseText + ")"); 
$("#promotionArea").slideUp(); 
} 
}); 
}

很多的时候你调试时会发现直接跳到error,然后直接就跳过去了.success段没有被执行.其实这里所有的语句都没有问题,问题的关键在于返回值.如果返回值出错,他就不会执行success段.返回值出错有几种情况:

1.格式错误.这是比较简单的,比较常见的是多了一个逗号之类:如{"success":true,"list":[{},{},]}(最后多一个逗号)正常不会有这个,容易出错的时候是你用for语句时后面最后没处理那个逗号.

2.类型错误:这种错误最难找,如果没把握就用字符是最好的.比如:"success":true是可以的,"code":0,也可以.如果是"code":a123,就有问题,会出现转换错误.要这样才对:"code":"a123"

由于 jquery调试的时候会忽略错误,所以有时候会很抓狂.一个简单的方法是写error语句,加alert,错误会被捕捉到.

Javascript 相关文章推荐
让IE8支持DOM 2(不用框架!)
Dec 31 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
Aug 24 Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 Javascript
将angular.js项目整合到.net mvc中的方法详解
Jun 29 Javascript
AngularJS路由删除#符号解决的办法
Sep 28 Javascript
详解angularjs实现echart图表效果最简洁教程
Nov 29 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 #Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 #Javascript
jquery ready函数、css函数及text()使用示例
Sep 27 #Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 #Javascript
实现动画效果核心方式的js代码
Sep 27 #Javascript
javascript中call和apply方法浅谈
Sep 27 #Javascript
文本框回车提交与禁止提交示例
Sep 27 #Javascript
You might like
PHP array 的加法操作代码
2010/07/24 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
javascript定时器完整实例
2015/02/10 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
Three.js快速入门教程
2016/09/09 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python日志模块logbook使用方法
2019/09/19 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
python asyncio 协程库的使用
2021/01/21 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
《穷人》教学反思
2014/04/08 职场文书
小学节能减排倡议书
2014/05/15 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
python创建字典及相关管理操作
2022/04/13 Python