簡體   English   中英

在jQuery Ajax上兩次調用

[英]Double calls on jquery ajax

我有問題,我將嘗試解釋:

我正在使用以下功能(ajax jQuery)

$.ajax({
        type: "POST",
        url: "index.php?controller=Group&action=getInfoAjax",
        data: "parameter="+parameter,
        dataType: "json",
        success: function(message)
        { .....

有時(我不確定如何重現),兩次執行了ajax調用,並且可以在Firebug上看到以下內容:

  • 第一個仍然在思考,第二個似乎已經完成。
  • 兩者都在“響應”選項卡上包含答案。
  • 從不調用成功函數。

我以為是因為用戶單擊兩次,但是我已經放置了一些代碼來避免這種情況。 在上一次測試中,我看到了第一個思考的方式,而第二個則無緣無故地開始了。

在此先多謝

如果不查看完整的html / js,可能很難提出修復建議。 但是以下可能是一個不錯的解決方法。 在這種情況下,Ben Alman的Debounce and Throttle插件將更加安全。

http://benalman.com/projects/jquery-throttle-debounce-plugin/

在您的情況下,反跳可能就足夠了。 您可能需要嘗試10-200ms的延遲。 在某些特殊情況下,您會看到進行了兩個ajax調用,而去抖動將進行單個調用。

例如,我在將要在“文本”框鍵入事件上觸發的所有ajax調用中使用去抖動。 防抖動,一種隊列,多個快速觸發的連續呼叫。 當連續的呼叫停止了至少“延遲”時間時,去抖動發出一個呼叫。

暫無
暫無

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

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