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 相关文章推荐
jquery中对表单的基本操作代码
Jul 29 Javascript
深入浅析JavaScript面向对象和原型函数
Feb 06 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
AngularJS 如何在控制台进行错误调试
Jun 07 Javascript
过期软件破解办法实例详解
Jan 04 Javascript
vue-router中scrollBehavior的巧妙用法
Jul 09 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
vue发送ajax请求详解
Oct 09 Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 Javascript
基于vue--key值的特殊用处详解
Jul 31 Javascript
vue脚手架项目创建步骤详解
Mar 02 Vue.js
写得不错的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实现JS中escape与unescape的方法
2016/07/11 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
Keras实现DenseNet结构操作
2020/07/06 Python
Python进行特征提取的示例代码
2020/10/15 Python
详解Python中的文件操作
2021/01/14 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
个人找工作求职简历的自我评价
2013/10/20 职场文书
简历中的自我评价范文
2014/02/05 职场文书
班级德育工作实施方案
2014/02/21 职场文书
车辆转让协议书
2014/04/15 职场文书
要账委托书范本
2014/09/15 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技