簡體   English   中英

jQuery .done沒有在$ .post請求上觸發

[英]jQuery .done not firing on a $.post request

首先,這是我的示例代碼:

$.post( "test.php", { testdata : "signal" },
            function( data ) { alert( "Nested function" )})
 .done( function () { alert( "Done function" )});

我正在嘗試讓.done為我完成一些任務,這無關緊要。 無論我是否直接在$.post參數中嵌套函數,它都不會觸發。 檢查Chrome上的控制台顯示它拋出了Uncaught TypeError: undefined is not a function錯誤Uncaught TypeError: undefined is not a function

反復使用行和錯誤報告向我顯示,肯定是.done了錯誤,僅在$.post的關閉括號之后直接將.done移至並不有效。

我看到了另一個類似的問題 ,但這是$ .ajax的問題​​,而我試圖實現上述建議的鏈接,但沒有任何效果。 我想念什么?

編輯:jQuery版本是1.4.4,.post成功返回數據,.always也失敗。

使用.complete代替:

$.post("test.php", { testdata : "signal" }, function () { 
        alert("Nested function"); })
    .complete(function () { alert("Done function"); });

小提琴

因此,經過調查,並感謝Jonathan Lonowski,algorhythm和War10ck的評論,我找到了解決方案。

我正在運行的jQuery版本1.4.4不支持.done,.fail,.always或.complete *方法。 要在成功后觸發事件,我需要遵循以下內聯格式:

$.post( url [, data ] [, success ] [, dataType ] )

...在網址后插入通常會進入.done的函數。 這就是我在原始示例中對嵌套函數所做的事情,只是需要刪除.done函數。

謝謝大家

* .complete在較新的jQuery版本中也不建議使用。 永遠不要使用它。

暫無
暫無

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

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