J'ai un rapport de bogue que je ne peux pas dupliquer, mais le délai d'attente d'un appel ajax est la meilleure hypothèse actuelle.
J'essaie donc de connaître la valeur par défaut du délai d'attente d'un appel jQuery $.ajax()
. Quelqu'un a une idée? Impossible de le trouver dans la documentation jQuery.
Merci d'avance, Marcus
Il ne semble pas y avoir de valeur par défaut normalisée. J'ai l'impression que la valeur par défaut est 0
et que l'événement de délai d'attente est totalement dépendant du navigateur et des paramètres réseau.
Pour IE, il existe une propriété timeout pour XMLHTTPRequests here . La valeur par défaut est null et indique que la pile réseau est probablement la première à expirer (ce qui not générera un événement ontimeout).
En passant, en essayant de diagnostiquer un bogue similaire, j'ai réalisé que le rappel d'erreur ajax de jquery renvoie le statut "timeout" s'il échouait à cause d'un délai.
Voici un exemple:
$.ajax({
url: "/ajax_json_echo/",
timeout: 500,
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus); // this will be "timeout"
}
});
il n'y a pas de délai d'attente, par défaut.
La propriété XMLHttpRequest.timeout
représente un nombre de millisecondes qu'une demande peut prendre avant d'être automatiquement terminée. La valeur par défaut est 0
, ce qui signifie qu'il y a non timeout. Remarque importante, le délai d'attente ne doit pas être utilisé pour les demandes XMLHttpRequests
synchrones, utilisé dans un environnement de document, sinon une exception InvalidAccessError
sera émise. Vous ne pouvez pas utiliser de délai d'expiration pour les demandes synchrones avec une fenêtre propriétaire.
IE10 et 11 ne prennent pas en charge les requêtes synchrones, la prise en charge étant également supprimée dans d'autres navigateurs. Cela est dû aux effets néfastes résultant de leur fabrication.
Plus d'informations peuvent être trouvées ici .