Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2976 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [AJAX] Fonctionnement synchrone et envoi type POST sous IE

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[AJAX] Fonctionnement synchrone et envoi type POST sous IE

n°1751181
Kytrix
Posté le 25-06-2008 à 15:49:15  profilanswer
 

Bonjour
 
Je me heurte à un soucis lors du appel AJAX en mode synchrone avec passage de paramètre POST.
 
en fait j'utilise une fonction à qui je demande de m'envoyer le contenu d'un formulaire vers un script php..
qui me retourne si tout c'est bien passé ou pas.
 
en mode asynchrone pas de soucis, sauf que j'ai besoin de savoir quand le script a fait son boulot pour rafraichir la page ect..
 
en mode synchrone sous IE j'ai un soucis

Code :
  1. xhr.open('POST', url, bAsync);
  2.       DebugPHP(onState4 , "makePOSTRequest après xhr.open", 2);
  3.       xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded" );
  4.       DebugPHP(onState4 , "makePOSTRequest après xhr.setRequestHeader 1", 2);
  5.       xhr.setRequestHeader("Content-length", parameters.length);
  6.       DebugPHP(onState4 , "makePOSTRequest après xhr.setRequestHeader 2", 2);
  7.       xhr.setRequestHeader("Connection", "close" );
  8.       DebugPHP(onState4 , "makePOSTRequest après xhr.setRequestHeader 3", 2);
  9.       xhr.send(parameters);
  10.       DebugPHP(onState4 , "makePOSTRequest après xhr.send", 2);


lors du xhr.send(parameters); javascript met 15 seconde avant de rendre la main!
alors que le script déja reçu et traité l'information !
 
évidemement lorsque je met xhr.send en commentaire la fonction retourne immédiatement mais rien est envoyé au script.
 
Si quelqu'un peut m'aiguiller un peu !
 
 
 

mood
Publicité
Posté le 25-06-2008 à 15:49:15  profilanswer
 

n°1751186
tpierron
Posté le 25-06-2008 à 16:03:25  profilanswer
 

Laisse tomber le mode synchrone, c'est de la merde.
 
Imagine ton serveur web prends plus de temps que d'habitude, l'interface du navigateur va se figer le temps de recevoir la réponse. D'un point de vue ergonomique c'est une horreur.
 
Envoie en asynchrone, et vérifie dans le callback si tout c'est bien passé. Normallement, ça va être traité en quelques milli-secondes, donc l'utilisateur n'aura pas le temps de faire quoi que ce soit. Au pire tu peux vérouiller ton formulaire.
 
Bref, le truc que tout le monde fait à part toi.

n°1751189
Kytrix
Posté le 25-06-2008 à 16:09:08  profilanswer
 

lol :D
 
.. en fait j'ai un callback assez minimaliste dans ce cas précis ..
dans le cas d'une gestion en assynchrone il faut que j'avise l'utilisateur que sa requette est en cours ..  
si il clique sur enregistrer et que rien ne se passe dans la seconde (serveur qui prend un peu de temps) il va recliquer ou je ne sais quoi :/
 
je vais essayer d'afficher un message par dessus mon interface à la gmail et gerer en asyncrhone comme pour le reste.
 
Merci.

n°1751416
tpierron
Posté le 25-06-2008 à 22:13:50  profilanswer
 

Ou tout simplement grise le bouton (propriété "disabled" en DOM). En réactive le lorsque tu reçoies la réponse.
 
Je me rappelle un jour avoir utilisé le mode synchrone dans une de mes applis par erreur. Ouah, j'avais l'impression que l'enfer c'était déchainé sur ma machine tellement il y avait de trucs qui ne marchait plus. Des heures de debug pour trouver que c'était ce foutu paramètre qui foutait la merde   :sweat:

n°1761401
Kytrix
Posté le 18-07-2008 à 12:18:19  profilanswer
 

Au final je suis repassé en asynchrone:
 
avant l'envoi je met un calque avec un message d'attente:
avantage l'utilisateur ne peut plus cliquer car c'est le calque d'attente qui prend les évenement
avantage2: si jamais ça prendre trop de temps il peut faire un refresh de la page.
 
ensuite quand la réponse est effectuée j'enleve le calque et je continue :)
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [AJAX] Fonctionnement synchrone et envoi type POST sous IE

 

Sujets relatifs
Probleme javascript et IE[CSS] Marge correcte seulement sur IE
envoi d'un buffer contenant une image[IE]Champ de formulaire qui refuse de garder le focus
Problème de Float avec IEProblème infobulle JS sous IE
INSERT mysql dans un champ de type dateEnvoi Email avec VB6.0
Problème d'affichage de tableau : vertical Firefox / Horizontal IEtype d'acces dans un fichier binaire en C
Plus de sujets relatifs à : [AJAX] Fonctionnement synchrone et envoi type POST sous IE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR