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 :

Concat�nation url + variable


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut Concat�nation url + variable
    Bonjour,

    Probl�me a priori tout simple, je veux concat�ner mon param�tre avec une url pour ensuite appeler une autre page. Mais h�las j'ai en retour une erreur dont je ne trouve pas l'origine.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function choix(e) {
    var ch = (e) ? e : event;
    var touche = String.fromCharCode(ch.charCode ? ch.charCode : ch.keyCode);
    var url='http://monsite.perso.free.fr/test.php?touche='+ touche;
    var httpRequest;
    httpRequest=new XMLHttpRequest();
    httpRequest.open('GET',url,true);
    }
    Lorsque je fais appel � cette fonction dans ma page index j'obtiens :
    NB: J'utilise une extension Firefox ("FireBug") pour debugger
    missing ; before statement
    http://monsite.perso.free.fr/appel.js (Line 7)

    var url='http://monsite.perso.free.fr/test.php?touche=' touche';\n
    Le signe de concat�nation "+" a disparu !

    Quelqu'un a-t-il d�j� eu une chose pareille ?

    Merci � vous
    Plug

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par d�faut
    Certainement un souci d'encodage de la page...A creuser

  3. #3
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut
    Bonjour Kerod,

    Pourrais-tu �tre un peu moins �nigmatique (ou plus pr�cis ) dans ta r�ponse ?

    De quelle page parles-tu ?

    Sous entendrais-tu que l'erreur puisse venir de la page d'appel et non du codage de la fonction choix ? Et donc que le debugger raconterait n'importe quoi ?

    Ou y a-t-il un message subliminal dans ton post ?

    D�j� impatient de d�couvrir l'�nigme de Kerod...

    Plug

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par d�faut
    Il y a aucune �nigme ni message subliminal. C'est une r�ponse comme toutes les autres. Ce genre de fonction marche toujours et la seule raison pour qu'un + disparaisse serait un mauvais encodage lors de l'�criture du code. Tournes-toi vers l'encodage de ta page et s'il le faut modifies le.

    Je peux pas �tre plus explicite

    PS : Il y a pas 10000 fa�ons de concat�ner

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    missing ; before statement
    http://monsite.perso.free.fr/appel.js (Line 7)

    var url='http://monsite.perso.free.fr/test.php?touche=' touche';\n
    Il apparait que tu as une quote en trop dans ce code qui n'apparait pas dans celui que tu as post�
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut
    OK Bovino tu as raison : Apr�s v�rification de ta pertinente remarque, le code copi� n'est pas celui qui est sur mon site (probl�me de version de d�veloppement certainement, d�sol� )

    N�anmoins la deuxi�me partie de ta remarque m'int�resse :

    Il apparait que tu as une quote en trop dans ce code
    Je croyais na�vement que j'avais oubli� un ";"

    Penses-tu qu'une quote en trop puisse g�n�rer ce libell� d'erreur pour un debbuger ?

    Je suis en vacances et n'ai pas sous la main toutes mes donn�es. Mais je poste le code de mon site d�s lundi, apr�s avoir refait quelques tests.

    Merci en tout cas

    Plug

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Oui, une quote en trop fait d�marrer une cha�ne de caract�re pour l'interpr�teur JavaScript, pour lui, ce n'est pas une erreur... il continue donc de traiter le code jusqu'� la quote suivante et ferme la cha�ne (sans trop se soucier de ce qu'elle contient), il s'arr�tera donc � la prochaine erreur, mais comme toi, tu as continu� ton code entre temps, les erreurs de syntaxe vont �tre nombreuses.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  8. #8
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut
    Bon voila, j'ai mis � jour mon premier post avec le code qui est actuellement sur mon site.

    Or, il n'y a que 2 quotes dans tout le .js :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var url='http://monsite.perso.free.fr/test.php?touche='+ touche;
    qui sont bien suivies de la concat�nation.

    Donc je ne vois toujours pas comment suivre une piste d'erreur

    Question qui pourrait aider :
    Pourquoi le "+" de concat�nation disparait dans le message du d�bugger ?
    missing ; before statement
    http://monsite.perso.free.fr/appel.js (Line 7)

    var url='http://monsite.perso.free.fr/test.php?touche=' touche';\n
    et qu'il me rajoute un \n qui n'est pas dans le code ?
    M�me si c'est pas forc�ment g�nant ce pourrait �tre un indice si ce n'est pas un comportement classique.

    A l'�coute de toute suggestion...

    Plug

  9. #9
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    le caract�re \n correspond � un retour chariot, il est donc bien dans ton code.
    En revanche, pour revenir sur la piste fournie par Kerod, avec quoi as-tu cr�� ton fichier js ?
    S'il s'agit d'un �diteur de texte, quel �tait l'encodage utilis� ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Par d�faut
    Salut !

    Avec le code expos� je ne vois pas o� est le probl�me. Pourrais-tu nous en donner un peu plus s.t.p. ? Quand on a des probl�mes de cha�nes mal ferm�es �a peut venir d'assez loin en arri�re jusqu'� assez loin en avant. Dans ton cas, d'apr�s le message du debugger, �a a l'air assez limit� mais il nous manque certainement un information.

    Concernant l'encodage du fichier je pense qu'il suffirait d'aller � l'adresse du script dans le navigateur pour voir ce qui en r�sulte. Si on voit bien appara�tre le code qu'il nous expose �a ne doit pas avoir des masses de rapport.


    P.S. : Oh, au fait, gr�ce � cette petite classe :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    URL.setParameter("http://monsite.perso.free.fr/test.php", "touche", touche);

  11. #11
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    ..., pour revenir sur la piste fournie par Kerod, avec quoi as-tu cr�� ton fichier js ?
    Tout simplement avec notepad sous windows

    Test de l'encodage : comme indiqu� par Oscar Hiboux
    Citation Envoy� par Oscar Hiboux Voir le message
    Concernant l'encodage du fichier je pense qu'il suffirait d'aller � l'adresse du script dans le navigateur pour voir ce qui en r�sulte.
    en appelant le appel.js dans le navigateur j'obtiens bien le code exact tel que recopi� dans mon premier post.

    Merci de vos r�ponses � tous.
    Je reprends les tests d�s que possible

    Plug

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par d�faut
    Dans ce cas, il faudrait que l'on voit la page en ex�cution.
    Soit en ligne soit en zip avec tous les �l�ments n�cessaires � son fonctionnement.

  13. #13
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut Le voleur de "+"
    Bonjour,

    Apr�s avoir bien pataug�, j'en ai eu marre et j'ai laiss� tomber (mise en place d'une solution palliative)

    Puis, comme j'aime pas ne pas comprendre, j'ai recommenc� les tests.

    Et l�, je me suis rendu compte avec le debugger que les + (op�rateurs de concat�nations) disparaissaient lorsque j'incluais les sources js dans le header mais pas si je les recopiais int�gralement

    Instruction fautive :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    <head>
      <title>Sélection</title>
      <meta http-equiv="content-type"
     content="text/html; charset=UTF-7">
      <script langage="Javascript" type="text/Javascript"
     src="appel.js">
      </script>
    </head>
    En rempla�ant src="appel.js" par le code lui-m�me, ben �� marche !

    Je n'ai rien trouv� de similaire sur yahoo (pourquoi c'est toujours google ? c'est vrai quoi... )

    Alors, si quelqu'un a une id�e de ce qui pourrait expliquer la suppression des "+", exprimez-vous sans retenue

    Au fait, j'oubliais : j'ai pas bien fait attention la premi�re fois mais � Oscar Hiboux pour cette petite classe

    Plug

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par d�faut
    Toujours un probl�me d'encodage je pense...

    Tu as du coder le JavaScript en UTF-8 ou m�me ISO et l� tu demandes � la page d'utiliser du UTF-7

  15. #15
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Pour ma part, je continue � penser qu'il doit s'agir d'un probl�me de quotes qui doit faire inclure le + dans l'URL, ce qui correspond du coup � un espace
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2009
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 39
    Par d�faut
    Bonjour,
    Et en pr�cisant un charset diff�rent avec l'import du .js, �a donne quoi?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    <head>
      <title>Sélection</title>
      <meta http-equiv="content-type"
     content="text/html; charset=UTF-7">
      <script langage="Javascript" type="text/Javascript"
     src="appel.js" charset="iso-8859-1">
      </script>
    </head>
    Bon courage

  17. #17
    Membre averti
    Homme Profil pro
    Bidouilleur amateur
    Inscrit en
    Juin 2006
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Bidouilleur amateur

    Informations forums :
    Inscription : Juin 2006
    Messages : 23
    Par d�faut
    Bonjour � tous,

    Citation Envoy� par Kerod Voir le message
    Toujours un probl�me d'encodage je pense...

    Tu as du coder le JavaScript en UTF-8 ou m�me ISO et l� tu demandes � la page d'utiliser du UTF-7
    Possible, mais dans ce cas pourquoi le copi� / coll� perdrait-il l'encodage de d�part alors qu'il provient du m�me fichier texte initial import� par le src= ?

    Citation Envoy� par Bovino Voir le message
    Pour ma part, je continue � penser qu'il doit s'agir d'un probl�me de quotes qui doit faire inclure le + dans l'URL, ce qui correspond du coup � un espace
    Un peu la m�me r�ponse que pour la suggestion de Kerod. S'il s'agit d'un probl�me de quotes pourquoi disparaitrait-il en rempla�ant src= par le code incrimin� ?

    Citation Envoy� par Boa67 Voir le message
    Et en pr�cisant un charset diff�rent avec l'import du .js, �a donne quoi?
    Bonne suggestion qui permettrait peut-�tre de v�rifier l'hypoth�se de Kerod. Mais comme je suis en vacances et que d�s demain je suis dans un coin perdu (pas de t�l, pas d'Internet, m�me pas de r�seau GSM ) ce sera pas pour tout de suite (mais je ne l�che pas l'affaire )

    En tout cas un grand merci pour votre participation.

    A tr�s bient�t (avec le r�sultat des tests j'esp�re )
    Plug

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2009
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 39
    Par d�faut
    Possible, mais dans ce cas pourquoi le copi� / coll� perdrait-il l'encodage de d�part alors qu'il provient du m�me fichier texte initial import� par le src= ?
    Simplement parce que le navigateur essai de le lire avec le charset que tu lui as indiqu�. Un exemple tout simple pour illustrer, si ton texte est en chinois, et que tu dis au navigateur de le lire en utilisant le fran�ais, il le lira mal et n'y comprendra rien. Pour les charset c'est pareil ; �a ne change pas qu'en le copiant/collant �a reste le chinois initial.

Discussions similaires

  1. Algo de cr�ation de chaine par concat�nation de variables
    Par Zhebulon dans le forum Algorithmes et structures de donn�es
    R�ponses: 2
    Dernier message: 13/04/2006, 14h37
  2. R�ponses: 1
    Dernier message: 30/12/2005, 10h57
  3. Concat�nation de variable ???
    Par dj-julio dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 20/12/2005, 14h10
  4. [SQL] Concat�nation de variables
    Par dogi dans le forum PHP & Base de donn�es
    R�ponses: 7
    Dernier message: 01/11/2005, 20h49
  5. Concat�ner deux variables ?
    Par glsn dans le forum ASP
    R�ponses: 2
    Dernier message: 19/12/2003, 13h53

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