web-dev-qa-db-fra.com

Valeur d'expiration par défaut du délai d'appel JQuery ajax

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

63
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).

41
Pekka 웃

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"
    }
});

La voici sur jsfiddle .

17
Jonathan Moffatt

il n'y a pas de délai d'attente, par défaut.

4
lwpro2

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 .

0
bodi0