2009-10-06 129 views
0

在我的應用程序中,我使用的是asp.net3.5,ajax.dll。Javascript Settimeout問題

我使用javascript中的ajax調用所有功能。

有時我需要從服務器端獲取條件結果,只有這樣我才能夠傳遞到下一個條件。

對於上述情況,javascript在執行第一個條件之前轉到下一個條件。

所以我添加以下代碼,使其工作,

setTimeOut("finddefaultvideo()",1000);

任何人都可以請幫我擺脫這個問題嗎?

有一件事我明白了,它不會等到服務器返回值的時候。

有什麼想法可以克服上述問題嗎?

回答

2

我不知道如果我理解正確的你,但,這可能是你正在尋找

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: "name=John&location=Boston", 
    success: function(msg){ 
    alert("Data Saved: " + msg); 
    } 
}); 

警報消息時立即顯示爲您的Ajax請求是解決(但它是使用jQuery)成功完成並且服務器發送響應數據。

0

setTimeout對此不可靠,除非您執行某種遞歸輪詢技術。在ajax回調返回後,您需要調用finddefaultvideo。你可以把finddefaultvideo()放在你的ajax回調函數中,這個回調函數是onreadystatechange,readyState是4和'complete'。

ajaxCallback: function(html) { 
    if (something) { 
     executeRestOfCode(); 
    } 
} 

function executeRestOfCode() { 
    // your code that needs to be invoked after the ajax callback 
}