1. 程式人生 > >jquery ajax 多次提交問題

jquery ajax 多次提交問題

由於我的ajax請求被繫結到按鈕的click事件執行。

 act_btn.click(function(){
	       var data = $("#action_content").serialize();
               var url = "dorm_buil_add";
               sendAjaxRequest(data,url,addDormitoryBuilding);//執行ajax請求
            	
 });

導致的問題是,第一次提交,執行一次,第二次提交執行兩次,第三次提交執行三次。

原因:問題的原因是click事件繫結到按鈕中,不是替換,而是append,即每次按鈕按下後都會執行之前繫結的click事件。

解決:1:在載入時候進行繫結,只繫結一次。

$(document).ready(function() {
  act_btn.click(function(){
	       var data = $("#action_content").serialize();
               var url = "dorm_buil_add";
               sendAjaxRequest(data,url,addDormitoryBuilding);//執行ajax請求
            	
  });
});

            2:在每次繫結的時候,解綁一次。

 act_btn.unbind('click').click(function(){
	       var data = $("#action_content").serialize();
               var url = "dorm_buil_add";
               sendAjaxRequest(data,url,addDormitoryBuilding);//執行ajax請求
            	
 });