错误表现:
会表现出来:ajax执行成功但是时而会进回调函数,时而不会进入回调函数。
分析原因:
页面的表达提交使用submit,然后又对这个提交按钮绑定一个点击事件,使用ajax来和后台进行交互,这个时候如果不return false;会导致ajax提交一次,submit提交一次,这样的错误不容易找出来
解决方法:
在ajax类的方法执行完了之后,需要return false;
例子:
1 $("#pAdd").click(function(){ 2 var productName = $("input[name='productName']").val(); 3 var productCre = $("textarea[name='productCre']").val(); 4 5 if(productName !="" ){ 6 $.ajax({url:"productAdd.htmls", 7 data:{ 8 "productName" : productName, 9 "productCre" : productCre 10 }, 11 success:function(data){ 12 if(data.length > 0){ 13 14 $('.table-sort', parent.document).DataTable({ 15 data:data 16 }); 17 } 18 // var index = parent.layer.getFrameIndex(window.name); 可以用这个获取当前要关闭的layer ,也可以使用parent.indexProductAdd 获取在父层定义的那个layer。open()的弹窗 19 parent.layer.close(parent.indexProductAdd); //获取到layer的弹出窗 关闭它 20 }}); 21 22 } 23 return false;//页面的表达提交使用submit,然后又对这个提交按钮绑定一个点击事件,使用ajax来和后台进行交互,这个时候如果不return false;会导致ajax提交一次,submit提交一次,这样的错误不容易找出来,会表现出来:ajax执行成功但是时而会进回调函数,时而不会进入回调函数, 24 });