Wie zum einstellen der maximalen Ausführungszeit für ajax post mit jQuery?
Gibt es eine Möglichkeit, um anzugeben, die maximale Ausführungszeit eines ajax-post an den server wenn der server nicht antwortet, dann halten Sie versuchen, für 10 Sekunden und dann weiter mit dem rest von dem code??
Function doajaxPost(){
var returned_value="";
//#############I NEED THIS CODE TO TRY TO POST THE DATA TO THE SERVER AND KEEP
//#############TRYING FOR 10 SECONDS AND THEN CONTINUE WITH THE REST OF THE CODE.
jQuery.ajax({
url: 'ajaxhandler.php',
success: function (result) {
returned_value=result;
},
async: false
});
//###################################################
alert(returned_value);
some other code
.
.
.
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
timeout
:Jedoch
alert(returned_value);
ausgeführt wird, nur nach Ihrem Anruf (nicht warten, für den Anruf zu beenden).Die JQuery-API-Dokumentation erzählt, wie ein "timeout".
http://api.jquery.com/jQuery.ajax/
Während andere Antworten hier richtig sind, lernen Sie in der Dokumentation für sich selbst ist viel mehr Wert, als zu wissen, nur diese Antwort.
Können Sie festlegen timeout-Wert für Ihre ajax-request.
timeout
Hier ist ein Beispiel:
Legen Sie ein Zeitlimit (in Millisekunden) für die Anfrage. Dies überschreibt jede Globale timeout mit $.ajaxSetup(). Der timeout-Zeitraum beginnt an dem Punkt, der $.ajax-Aufruf gemacht wird; wenn mehrere andere Anfragen sind im Gange und der browser hat keine verbindungen verfügbar, es möglich ist, eine Anforderung zu einem Timeout, bevor es gesendet werden kann. In jQuery 1.4.x und unten das XMLHttpRequest-Objekt wird in einen ungültigen Zustand, wenn die Anfrage mal aus; Zugriff auf alle member des Objekts kann eine exception werfen. In Firefox 3.0+ nur -, Skript-und JSONP-Anforderungen können nicht storniert werden, indem ein Zeitlimit; das Skript wird auch ausgeführt, wenn es kommt nach der timeout-Zeit.