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记录用户登录次数实现代码
Jan 15 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
jquery对象访问是什么及使用方法介绍
May 03 Javascript
超实用的JavaScript代码段 附使用方法
May 22 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
详解ES6系列之私有变量的实现
Nov 21 Javascript
javascript遍历对象的五种方式实例代码
Oct 24 Javascript
JavaScript模拟实现网易云轮播效果
Apr 04 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
用 PHP5 轻松解析 XML
2006/12/04 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
JS实现导航栏楼层特效
2020/01/01 Javascript
Vue的data、computed、watch源码浅谈
2020/04/04 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
Python ftp上传文件
2016/02/13 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
2014年文员工作总结
2014/11/18 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
亮剑精神观后感
2015/06/05 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android
详解MySQL的内连接和外连接
2023/05/08 MySQL