2016-12-07 97 views
-1

有沒有辦法在Javascript/jQuery中創建一個POST請求,並使用該變量作爲setTimeout時間?異步返回數據

$.post('file.php', { action: "gettimeout"}, 
function(time){ 
    return time; 
}); 
setInterval(function(){ alert("Hello"); }, time); 

是我想要做的。

我目前能夠做到,但我正在同步進行。

var time = $.ajax({ 
    type: 'POST', 
    url: 'file.php', 
    data: {action: "gettimeout"}, 
    async: false 
}); 
return Number(time.responseText); 
setInterval(function(){ alert("Hello"); }, time); 
+1

你應該使用回調。看看這個答案:http://stackoverflow.com/a/14220323/1056133 – jayantS

回答

1

只要把你的電話給setInterval(或setTimeout)Ajax回調函數中:

$.post('file.php', { action: "gettimeout"}, function(time){ 
    setInterval(function(){ alert("Hello"); }, time); 
}); 

NB:有在Ajax回調函數返回值,沒有任何意義。見How do I return the response from an asynchronous call