簡體   English   中英

POST完成后運行代碼,並且頁面已加載到jQuery中?

[英]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.

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