was ist die maximale timeout gesetzt werden kann, in jquery, ajax?
$.ajax(
url:"",
async: true,
timeout: 2*60*60*1000, //2 hours,
success: function(){},
error: function(){}
);
In einen jQuery-ajax-request, wenn ich den timeout mit einem großen Wert, oder ließ es leer, wird es weiter warten, bis der server ein Ergebnis liefert?
Eigentlich erwarte ich, dass die server-Antwort in 1,5 Stunden, also in meinem js script, das ich gesetzt, timeout auf 2 Stunden, aber ich fand die Ajax-springen auf Fehler-Funktion (mit msg-code 404) in weniger als 1 Stunde. Es heißt ajax Abbruch der warte der Zeit Voraus .
Also ich Frage mich, ob es eine maximale timeout-Wert kann ajax gesetzt werden?
- Warum würden Sie tun, eine ajax-Anfrage, die beantwortet werden in 1.5 Stunden???
- 1,5 h ist am schlechtesten zu erwartenden Fall. Die meisten anderen ajax zurückkehren wird, in Sekunden.
- Haben Sie zu denken, UX.
- Je nach server-side-Sprache -- starten eines hintergrund-Prozess oder thread, dann haben Sie Ihre JS-Fragen 'sind Sie down' -- auf den ersten, vielleicht alle 15 Sekunden, dann jede minute, dann alle fünf, dann alle 15...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Vorherige Antwort war falsch (timeout schien mir einfach zu kurz und ich konnte es selbst kaum glauben)
also ich habe einen test gemacht gestern, erstellt 1GB zip dann meine Verbindung gedrosselt mit fiddler und schrieb diese aspx-Seite.
dann lief ich dieses Skript (interessanterweise fiddler blies mit OutOfMemory-Ausnahme innerhalb von 10 Sekunden jedoch Reaktion stattfand).
Kam es zurück mit
9393076/1000 ~ 9393(s) = 02:36:33
Entspricht ~156 Minuten.
Ich wiederhole diesen test an diesem Wochenende, um zu sehen, ob es timeout nach derselben Zeit
aber bisher scheint es, ist es mehr als 7200000 (2*60*60*1000).
Globale Standard-Wert von
timeout
ist 0, das heißt, es ist unendlich.