簡體   English   中英

從ajax訪問數據是否成功完成?

[英]Access data from ajax success in complete?

有沒有一種方法可以訪問成功期間接收到的數據,以便可以在完整的回調期間使用它?

也許有一種方法可以分配多個成功功能?

我需要的是,允許根據情況更改成功回調,但是我需要始終在成功時使用返回到第一個函數的相同數據來執行專用功能。

我想我總是可以這樣設置我的電話,但是我正在尋找是否有更好的方法。

CallServer = function(options) {
  if(options.success) {
    var customSuccess = options.success;
    options.success = function(data) {
      defaultSuccess(data);
      customSuccess(data);
    }
  }
  $.extend(true, defaults, options);
  $.ajax(defaults);
}

編輯:我找到了答案。 我沒有意識到xhr將數據保存為responseText。 因此,以下內容使我獲得成功時作為“數據”返回的內容相同。

complete: function(xhr){dosomething(xhr.responseText);}

就是這樣! 謝謝

在jQuery中,成功回調將數據作為其第一個參數。

根據jQuery文檔( http://api.jquery.com/jQuery.ajax/ ),成功回調的參數列表為:

成功(數據,textStatus,jqXHR)

據我所知,沒有內置的方法可以添加多個成功回調,但是您可以輕松地從自定義成功回調中分派任意數量的函數。

也許您可以使用類似以下的系統:

function customSuccess(data) {
    if (situation == "one way") {
        firstFunction(data):
    }
    else if (situation == "another way") {
        secondFunction(data);
    }
}

我找到了答案。 我沒有意識到xhr將數據保存為responseText。 因此,以下內容使我獲得成功時作為“數據”返回的內容相同。

complete: function(xhr){dosomething(xhr.responseText);}

就是這樣! 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM