2012-11-28 47 views
1

希望獲得一個jQuery AJAX調用的數據處理示例。我的AJAX調用運行php代碼,如果不成功,返回-1。我不得不忽略ajax代碼的返回承諾,而是創建並返回一個新的延遲對象,該對象基於返回數據已解決或失敗。由於某種原因,我懷疑有一種方法可以實現這一點較少的開銷。當前示例是:處理返回數據的AJAX調用的Jquery Promise

send_Data = function(send_data) { 
     var dfd = $.Deferred(); 
     $.post(sendData.php", send_data), function(data) { 
     }) 
     .success(function(data) {if(data==-1) dfd.fail(); 
           } else {dfd.resolve(data);} 
     .error(function(e){log_error()}) 
     return dfd.promise(); 
    } 

有什麼建議嗎?

回答

0

您在提供的示例中犯了一些錯誤。這是我的2美分的幫助

myAjax = { 
,dfd = $.Deferred(); 
,ajax: function() { $.ajax({ 
          url: 'connectorURL' 
          ,type: "POST" 
          ,data: { 
            ExpectedVariable: YouRDataVariable,     
          } 
          ,success: function(data){ 
          if(data == '-1') { 
           this.dfd.fail(); 
           } else { 
           this.dfd.resolve(data); 
           } 
          ,error: function(){ 
          console.log('connector error',arguments); 
           } 
         }); 
        } 
} 

$(document).ready(function(){ 
    myAjax.ajax();       
}); 
相關問題