簡體   English   中英

jQuery:如何發出AJAX請求並繼續而不等待請求完成?

[英]jQuery: How to make an AJAX request and continue without waiting for request to complete?

我想在JavasSript函數的“后台”發出AJAX請求,但是我的腳本等待AJAX​​請求完成,然后繼續執行我的代碼。

$('div').hide();

$.get('/controller/action', { id: 'abc123' },
    function(data){
        //request completed
        //now update the div with the new data
        $('div').html(data);
    }
);

$('div').slideDown('slow');

//by now hopefully the div has been updated 
//and the user hasn't waited too long

問題在於slideDown動畫將等待執行,直到請求返回響應為止。 如何獲得與ajax請求同時執行的動畫?

您的代碼應該已經(異步地)在后台執行Ajax請求。 jQuery.get()方法的縮寫為:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

jQuery.ajax()方法是async: true默認情況下為async: true

slideDown()放入成功回調中

$('div').hide();

$.get('/controller/action', { id: 'abc123' },
    function(data){
        alert("Request completed");
        //now update the div with the new data
        $('div').slideDown('slow');
    }
);

除非您為AJAX提供帶有async: false默認配置async: falsedoc )。

在ajax請求完成之前,div是否可能不包含任何內容,從而造成其等待的錯覺?

在ajax請求之后,您是否嘗試過良好的舊alert()調試?

暫無
暫無

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

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