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 相关文章推荐
javascript截取字符串(通过substring实现并支持中英文混合)
Jun 24 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
JS实现的不规则TAB选项卡效果代码
Sep 18 Javascript
JS遍历数组及打印数组实例分析
Jan 21 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
js实现移动端导航点击自动滑动效果
Jul 18 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
详解Vue、element-ui、axios实现省市区三级联动
May 07 Javascript
简述pm2常用命令集合及配置文件说明
May 30 Javascript
vue分页插件的使用方法
Dec 25 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中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php命令行用法入门实例教程
2014/10/27 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
怎么清空javascript数组
2013/05/11 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
Python中的super用法详解
2015/05/28 Python
Python多进程原理与用法分析
2018/08/21 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
Python计算信息熵实例
2020/06/18 Python
python飞机大战游戏实例讲解
2020/12/04 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
Django如何重置migration的几种情景
2021/02/24 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
佳能德国网上商店:Canon德国
2017/03/18 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
《青海高原一株柳》教学反思
2014/04/25 职场文书
环保建议书400字
2014/05/14 职场文书
商场广播稿范文
2015/08/19 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL