J'ai trouvé un problème avec l'utilisation de JQuery timeout, j'ai une page avec script, il est mis un délai d'attente et une réponse d'attente du serveur. Le problème est quand le délai d'attente doit effectuer, en quelques mots, il "aucune action". Je pense que ce script n'interrompe pas la connexion avec le serveur et attend la réponse du serveur, car du côté serveur, la connexion est activée pendant 10 secondes (mais le délai d'attente est défini sur 5 secondes). Je vois ce problème lorsque le serveur fonctionne dans un nom de domaine différent puis client, alors que lorsque le serveur et le client travaillent en local ce problème ne l'est pas.Problème JQuery avec timeout
Avez-vous une idée parce que cette erreur s'est produite ou comment fermer la connexion de script?
// client
$.ajax({
type: "GET",
url: "some.php",
data: "name=John&location=Boston",
timeout: 5000,
success: function(msg){
alert("Data Saved: " + msg);
},
error: function(request, errorType, errorThrown){
alert("opppsssss .... ");
}
});
et le code du serveur:
//some.php
< ?
//simulate long task
sleep(10); //sleep 10 seconds
//send response
echo "some test data";
? >
Cordialement
Domenico
La réponse ici me laisse perplexe et ne répond pas du tout à ma question. Ne devrait-il pas être l'inverse (comme le poste de l'OP)? Le point est que le côté client expirera et fera quelque chose, et afin de simuler le comportement de temporisation, le serveur doit dormir plus longtemps que le délai d'expiration réel du côté client. – Antony
Non. Lorsque la requête est envoyée au serveur, le serveur dort pendant _10 secondes_. Le client expirera dans _5 secondes_ (5000 millisecondes). Le fait est qu'il veut que la requête attende avant que le serveur n'effectue une action, mais dans ce cas la requête sera simplement rejetée car le serveur n'a pas répondu en temps voulu, ce qui signifie que rien ne se passera du tout. Crikey, ce post a plus de trois ans aussi! Réveiller les morts? ;) – Kezzer