IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Retour de xhr.responsetext


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Par d�faut [AJAX] Retour de xhr.responsetext
    bonjour,

    voil� mon probl�me (qui n'en est pas vraiment un): je re�ois gr�ce � xhr.responsetext le r�sultat d'un script php dans lequel j'ai plac� pour tester un simple echo "ErrTEST"; � la fin.

    Ce script r�alise pas mal de requ�tes SNMP (get, walk ou set) et pour chacune d'elles j'ai plac� un or die("Errxxxxx"); o� les xxxxx repr�sentent un code erreur.

    Dans le code javascript qui re�oit la r�ponse du script, je fais un test sur xhr.reponsetext pour conna�tre les 3 premiers caract�res de la cha�ne retourn�e.

    Si c'est diff�rent de "Err" j'affiche la r�ponse normalement.

    Si c'est "Err", je fais
    chaine = xhr.responsetext;
    alert('Erreur: ' + chaine);

    Hors � ma grande surprise le test ne fonctionnait jamais, car en fait j'ai d�couvert que xhr.responsetext contenait un CRLF au d�but de la cha�ne...

    Pour palier � ce probl�me, j'ai fait un

    chaine = chaine.substring(2, 5);

    avant le test conditionnel.

    Est-ce que c'est normal d'avoir ce CRLF au d�but de la cha�ne retourn�e???

    Y a-t'il possibilit� de le supprimer autrement qu'avec le substring ???

    Merci d'avance pour les r�ponses, m�me si ce n'est pas vraiment un probl�me!!!

  2. #2
    Membre �clair�
    Inscrit en
    Mars 2004
    Messages
    291
    D�tails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par d�faut
    Bonjour,

    le script PHP appel� via AJAX est dans un format ANSI, UTF8 sans BOM ou autre ?
    Pourrais-tu essayer selon les diff�rents formats de texte cit�s ci-dessus ?

    Tu utilises l'appel AJAX via un framework ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Par d�faut
    D�sol� pour le d�lai, je n'ai pas eu le temps de repasser par ici depuis le post d'origine!!!

    Et merci pour la r�ponse...

    En fait, mon premier souci est que je ne suis pas le d�veloppeur d'origine du site, et que donc je ne saurais pas r�pondre � la question concernant l'encodage...!!! O� puis-je trouver cette info? Ou est-ce qu'il y a une commande qui me permettrait de le savoir en l'affichant dans une page???

    J'ai aussi remarqu� que la r�ponse passant par Ajax n'affichait plus les accents mais des losanges noirs avec un ? blanc dedans... Est-ce que lorsque je fais mon echo final, je dois faire un truc genre UTFencode(chaine) ??? J'ai juste essay� de remplacer le "�" par &ecute; mais �a n'affiche pas "�", mais "&ecute;" � la place....

    Concernant le framework, je ne pense pas que j'en utilise, car pour le moment, j'en suis � mes d�buts en d�veloppement web ( 2 mois que j'ai mis le pied dans le couple PHP/MySQL), avant �a je m'amusait beaucoup avec VBS. PHP et VBS �tant tous les 2 des langages de script, �a ne me pose pas de difficult�s particuli�res pour cr�er de nouveaux scripts/pages ou pour modifier l'existant.

    Mais certains trucs qu'a utilis� le d�veloppeur d'origine sont encore pour moi dans un flou monumental, comme les CSS par exemple, ou encore comme ici, l'encodage utilis�...

    Merci en tout cas pour la r�ponse, c'est une voie dans laquelle je vais chercher dans un premier temps, je reviendrai pour donner les r�sultats de mon investigation!!!

  4. #4
    Membre �clair�
    Inscrit en
    Mars 2004
    Messages
    291
    D�tails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par d�faut
    Citation Envoy� par heavenvibes Voir le message
    En fait, mon premier souci est que je ne suis pas le d�veloppeur d'origine du site, et que donc je ne saurais pas r�pondre � la question concernant l'encodage...!!! O� puis-je trouver cette info? Ou est-ce qu'il y a une commande qui me permettrait de le savoir en l'affichant dans une page???
    Dans ton navigateur, dans le menu, fais "Informations sur la page", regarde l'encodage.
    Ensuite uploade ton fichier, ouvre le avec l'�diteur Notepad++, regarde dans Encodage pour savoir l'encodage du fichier. Ensuite dans ton code, met l'encodage via balise html dans le head, ou PHP avec la fonction header.
    Pour ces 3 �l�ments, met tout dans un format, par exemple UTF8.

    Citation Envoy� par heavenvibes Voir le message
    J'ai aussi remarqu� que la r�ponse passant par Ajax n'affichait plus les accents mais des losanges noirs avec un ? blanc dedans... Est-ce que lorsque je fais mon echo final, je dois faire un truc genre UTFencode(chaine) ??? J'ai juste essay� de remplacer le "�" par &ecute; mais �a n'affiche pas "�", mais "&ecute;" � la place...
    Probl�me d'encodage entre ton encodage de fichier et celui �tabli dans ton code. Par contre, ce n'est pas &ecute; mais é

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Par d�faut
    Hello, merci pour cette r�ponse, et que de pistes!!!

    Message d�but� � 2h du mat'...
    Alors, dans Firefox, Informations de la page, j'obtiens ISO-8859-1, en �ditant mon fichier index.php, j'ai bien le header correspondant � ISO-8859-1, par contre, je n'ai pas trouv� la commande "Encodage" dans Notepad++, par contre il y a le menu Format dans lequel est s�lectionn� "Encoder en ANSI".

    D'autant plus bizarre que le probl�me des accents transitant par xhr.response s'est r�solu en rajoutant un UTF8_encode(chaine); � la fin de mon script PHP...

    Je pense que je vais arr�ter l� les recherches, un probl�me �tant r�solu (les caract�res accentu�s), l'autre n'�tant pas vraiment un probl�me, c'�tait plus une interrogation puisque j'avais d�j� trouv� ke moyen de contourner le CRLF en d�but de ligne...

    �a reste bizarre...

    Concernant l'encodage, une petite recherche Grogle m'a appris que xmlhttprequest fonctionnait en UTF8 par d�faut...

    Et encore un truc plut�t... surprenant!!!

    J'ai 2 fonctions javascript distinctes utilisant xmlHTTPrequest. La premi�re permettant de soumettre un formulaire en scannant tous les champs du formulaire donn�, et en lui donnant le DIV de destination. La 2�me ne fait que recevoir l'adresse du script � afficher, et dans quel DIV l'afficher.

    Dans le premier, je suis oblig� de faire le chaine.substring(2,3); , par contre dans le second je dois faire un chaine.substring(0,3); pour r�cup�rer le code erreur. Le CRLF n'est pas pr�sent dans le deuxi�me cas!!!

    J'ai trouv� d'o� vient ce CRLF suppl�mentaire :

    le script php appel� n'�tant pas le m�me pour chacune des fonctions javascript, j'ai cherch� dans chacun des scripts php, et j'ai enfin trouv�:

    dans le second cas, le script php commence � la premi�re ligne, alors que dans le premier cas, il commence � la seconde ligne, en supprimant la ligne inutile, tout rentre dans l'ordre!!!

    Merci pour toutes ces pistes, j'ai finalement rajout� un header php dans chacun de ces scripts et ne suis plus oblig� de passer par UTF8_encode pour avoir les accents!!!

    header('Content-type: text/html; charset=iso-8859-1');

    Et termin� � 2h de l'apr�'m!!!

    PS : pour le é je sais, c'est juste un oubli de frappe!!!

    Merci!!!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AJAX] xhr.responseText et comparaison
    Par Nexussmb dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 12/10/2006, 17h32
  2. [INFOS][AJAX]Retour d'exp�rience
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    R�ponses: 17
    Dernier message: 28/09/2006, 16h43
  3. [AJAX] Retour chariot dans un textarea avec AJAX
    Par Death83 dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 18/09/2006, 22h32
  4. [AJAX] Isoler les �l�ments de "xhr.responseText" ?!
    Par ghohm dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 13/09/2006, 15h00
  5. [AJAX] Retour xml
    Par Pollux dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 31/05/2006, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo