2013-08-25 186 views
0

我有這個調用ajax,要成功我打印另一個按鈕,從PHP它有另一個調用ajax。 .on之後,如何在不插入整個調用ajax的情況下使用方法?.on調用方法ajax

AJAX

$('.send_request').click(function(){ // send request ajax 

     var id_user_receive = $(this).attr('id'); 
     var button = $(this); 
      $.ajax({ 
       url: CI_ROOT + 'friendship_ctr/send_request', 
       type: "POST", 
       data: "id_user_receive=" + id_user_receive, 
       dataType: "html", 
       success: function(html) { 

        $('.button-option').html(html); 
       $('.remove_u').on('click',function(){ 
        $('.remove_u').click(function(){ // i would like short this code 

        var id_user_receive = $(this).attr('id'); 

         $.ajax({ 
          url: CI_ROOT + 'friendship_ctr/remove_friend', 
          type: "POST", 
          data: "id_user_receive=" + id_user_receive, 
          dataType: "html", 
          success: function(html) { 


          }, 
          error: function(status) { 
           alert(status); 
          } 
         }); 

       }); 
       }, 
       error: function(status) { 
        alert(status); 
       } 
      }); 
     }); 

    }); 

回答

0

你可以讓一個通用的功能,使一個AJAX調用的URL,並將它傳遞的處理函數,該函數成功執行:

makeAnAjaxCall = function (url, serialized_form_data, callback) {  
      $.ajax({ 
       type: "POST", 
       dataType: "json", 
       url: CI_ROOT + url , 
       data: serialized_form_data, 
       success: function(data) { 
        callback(data); 
       }, 
       error: function(){ 
        alert('Error on ajax call'); 
       } 
      }); 
     } 


#Then just call twice like this: 

    $('body').on('click','.remove_u', function(){ 
     return makeAnAjaxCall('friendship_ctr/remove_friend','id_user_receive='+ id_user_receive,handlerRemove(status)); 
    }) 

    $('body').on('click','.send_request', function(){ 
     return makeAnAjaxCall('friendship_ctr/send_request'','id_user_receive='+ id_user_receive,handlerSendRequest(status)); 
    }) 

我想你不注意如何運行,請看看jQuery文檔,你不需要在第一個Ajax調用的成功函數裏面添加一個事件監聽器,你可以將任何事件綁定到當時沒有的元素上存在於DOM中,但可能會出現在aja之後x電話就像你想要做的那樣。

+0

非常感謝!我現在明白了。謝謝! – fabrizio

+0

很高興幫助你的人,你可以請求答案嗎?希望這可以幫助別人尋找同樣的問題 – sandino