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+thickbox仿校内登录注册框
Jun 07 Javascript
基于jquery点击自以外任意处,关闭自身的代码
Feb 10 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
分分钟玩转Vue.js组件
Oct 25 Javascript
jquery+html仿翻页相册功能
Dec 20 Javascript
网页中右键功能的实现方法之contextMenu的使用
Feb 20 Javascript
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
inquirer.js一个用户与命令行交互的工具详解
May 18 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP数据类型的总结分析
2013/06/13 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
对于Python中线程问题的简单讲解
2015/04/03 Python
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
详解python字节码
2018/02/07 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
python实发邮件实例详解
2019/11/11 Python
pytorch进行上采样的种类实例
2020/02/18 Python
汉森批发:Hansen Wholesale
2018/05/24 全球购物
售后专员岗位职责
2013/12/08 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
协议书格式
2014/04/23 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
倡议书怎么写?
2019/04/11 职场文书