发布于 2016-09-22 08:08:57 | 110 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的jQuery示例,程序狗速度看过来!

jQuery javascript框架

jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。


jquery 在使用ajax过程中出现调用失败的情况,想必大家都有遇到过吧,在本文有个不错的示例,希望对大家有所帮助
下面是一个完事的函数:
 
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,错误会被捕捉到.

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务