2012-04-13 71 views
2

我知道這是已知的主題,其中一個解決方案是將呼叫更改爲同步。 還是不清楚,如果有任何其他方式來做到異步,並獲得完整功能的數據? 示例函數在成功函數中創建一個新的資產對象,我想獲得完整函數的引用。如何在競爭函數中獲取jQuery ajax數據?

 function getPresentation(item) { 
     $.ajax({ 
      type: "GET", 
      url: item.Url, 
      success: function (data) { 
       assets.push(new asset(item.Type, item.Url, data)); 
      }, 
      complete: function() { 
       /// How to get here the reference for the newly created asset object? 
       /// how to alert(asset)? 
      }, 
      error: function (req, status, error) { 
       alert('error'); 
      } 
     }); 

    } 

回答

4

您可以簡單地使用jQXhr對象,你在complete事件得到。 整個事件的實際簽名是complete(jqXHR, textStatus) 沿

complete:function(jqXHR,status) 
{ 
if(status == 'success' || status=='notmodified') 
{ 
var asset = new asset(item.Type, item.Url, $.parseJSON(jqXHR.responseText)) 
} 
} 
+0

u的得到任何特定的錯誤的線,所以somethng? – 2012-04-13 23:03:52

+0

即時假設你得到JSON作爲服務器的數據 – 2012-04-13 23:05:11

+0

當然是json – 2012-04-13 23:06:38