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 相关文章推荐
FireFox中textNode分片的问题
Apr 10 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
PHP开发者必须掌握的6个关键字
Apr 14 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
javascript阻止事件冒泡和浏览器的默认行为
Jan 21 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
详解项目升级到vue-cli3的正确姿势
Jan 28 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
vue如何清除浏览器历史栈
May 25 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
js 函数调用模式小结
2011/12/26 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
Python中的集合类型知识讲解
2015/08/19 Python
学习python可以干什么
2019/02/26 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
python实现PCA降维的示例详解
2020/02/24 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python开根号实例讲解
2020/08/30 Python
Python通过format函数格式化显示值
2020/10/17 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
个人找工作自荐信格式
2013/09/21 职场文书
奖学金自我鉴定范文
2013/10/03 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
文员岗位职责范本
2014/03/08 职场文书
网络信息安全承诺书
2014/03/26 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
工作建议书范文
2019/07/08 职场文书
五年级作文之成长
2019/09/16 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技