2016-12-07 1 views
-1

Gibt es eine Möglichkeit, eine POST-Anfrage in Javascript/jQuery zu stellen und diese Variable als setTimeout Mal zu verwenden?Asynchrone Rückgabedaten

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

ist was ich versuche zu tun.

Ich bin derzeit in der Lage zu tun, aber ich mache es synchron.

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

Sie sollten Rückrufe verwenden. Sehen Sie sich diese Antwort an: http://stackoverflow.com/a/14220323/1056133 – jayantS

Antwort

1

Einfach Ihren Anruf setInterval (oder setTimeout) innerhalb der Ajax-Callback-Funktion:

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

NB: Es gibt keinen Sinn, einen Wert in der Ajax-Callback-Funktion bei der Rückkehr. Siehe How do I return the response from an asynchronous call.