[英]Run code when POST has completed, and page has loaded in jQuery?
我有以下代碼:
$.when($.post(...)).then(function () {
...
});
我想結合$(document).ready(...);
因此,請求會在頁面初始化時啟動,並且.then
函數中的所有內容都會在頁面和POST請求都完成加載后運行。
我怎樣才能做到這一點?
jQuery將在DOM加載時產生一個承諾。 因此,您可以使用$.when()
等待兩個承諾。 這樣,您可以執行以下操作:
$.when($.post(...), jQuery.ready.promise()).then(function(result) {
// code here
// result[0] is ajax result
});
這將使您立即啟動ajax調用,但僅在頁面准備好后才處理其結果。
我只是想通了。
顯然, $(document).ready(function () { })
不僅設置了事件處理程序,而且還在頁面已加載的情況下立即在內部運行代碼。 所以現在我只用這個:
$.post(...).then(function () {
$(document).ready(function () {
...
});
});
這允許僅在POST請求已完成且頁面已完成加載時才運行代碼。
您可以設置一些時間間隔,例如
setTimeout(function(){ //do something here }, 3000);
在.then
內.then
或檢查頁面中是否存在某些div區域,例如
$('#someDiv') !== null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.