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 相关文章推荐
js setTimeout 常见问题小结
Aug 13 Javascript
jquery无法设置checkbox选中即没有变成选中状态
Mar 27 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 Javascript
Angularjs单选框相关的示例代码
Aug 17 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
Javascript实现购物车功能的详细代码
May 08 Javascript
node实现分片下载的示例代码
Oct 17 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
Oct 09 Javascript
javascript实现简单页面倒计时
Mar 02 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的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
python实现换位加密算法的示例
2018/10/14 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
python切割图片的示例
2020/11/12 Python
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
《我不是最弱小的》教学反思
2014/02/23 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
单位同意报考证明
2015/06/17 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android