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 :

Fonction eval () et Constante chaine non terminée


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Fonction eval () et Constante chaine non terminée
    Bonjour !

    Voici le probléme, je développe une application utilisant la technologie Ajax, j'ai besoin de remplir un tableau javascript.
    J'utilise donc la fonction eval pour récupérer les données renvoyées par le serveur (noms et prénoms de personnes etc...) dans ma balise div.
    Voici à quoi ressemble le contenu de ma balise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [["aaa","aaa","aaa","aaa","aaa","aaa","aaa","aaa","aaa","aaa"],
    ["bbb","bbb","bbb","bbb","bbb","bbb","bbb","bbb","bbb","bbb"],
    ["ccc","ccc","ccc","ccc","ccc","ccc","ccc","ccc","ccc","ccc"],
    ["ddd","ddd","ddd","ddd","ddd","ddd","ddd","ddd","ddd","ddd"]]
    A noter que le tableau devrait contenir en réalité plus de 2500 lignes.

    Je récupére les données dans le tableau de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var myData = new Array();
    myData = eval(document.getElementById('z1').innerHtml);
    Cela fonctionne très bien avec certain noms, mais je me retrouve avec l'erreur "Constante chaine non terminée" si je change les paramètres de ma requête....

    y aurait-il des caractères spéciaux dans les noms que la fonction eval ne prend pas en comptes ??

    Si c'est le cas,y a t-il une autre fonction equivalente ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Stan62970
    y aurait-il des caractères spéciaux dans les noms que la fonction eval ne prend pas en comptes ??
    Au contraire : il les prend trop en compte !
    Certainement des ' ou " qui traine dans tes noms/prenoms/adresses et qui tronquent ton résultat.

    Il faut les protéger avec \ (dès le serveur).

    Remarque : pourquoi passer par ton <div> : tu peux faire ton eval() directement sur le responseText, non ?

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Ok merci pour la réponse, je vais étudier ça, j'essaie de trouver des cas spécifiques...

    Pour l'hisoire du <div> ça fonctionne également avec responseText, c'était pour avoir toutes mes variables décalrer dans la mm page car j'ai stocké certain scripts dans un fichier à part etc. bref ça ne change pas grnad chose...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Stan62970
    Pour l'hisoire du <div> ça fonctionne également avec responseText, c'était pour avoir toutes mes variables décalrer dans la mm page car j'ai stocké certain scripts dans un fichier à part etc. bref ça ne change pas grnad chose...
    La portée de tes variables serait la même (les include sont considérés comme faisant partie de la page).
    Mais tu as raison : ça change pas grand'chose, si ce n'est un traitement (à mon avis) superflu ...
    J'ai toujours tendance à aller au plus simple

    A+

  5. #5
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    J'ai ouï dire récemment que les réponse ajax étaient limitées à 8ko. Je n'ai cependant pas réussi à vérifier cette information. as-tu fait un test avec un tableau plus court ? C'est peut-être une piste ...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par roro06
    J'ai ouï dire récemment que les réponse ajax étaient limitées à 8ko. Je n'ai cependant pas réussi à vérifier cette information. as-tu fait un test avec un tableau plus court ? C'est peut-être une piste ...
    +1 (vu le nb de lignes annoncé)

    Ce paramètre dépend du serveur, me semble-t-il ...

    A+

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    J'ai le pb avec un tableau de 6 ligne, je cherche d'où ça peut venir mais honnétement j'ai du mal....

    Et j'ai un autre cas avec 360 ligne qui marche nikel' !?

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Stan62970
    Et j'ai un autre cas avec 360 ligne qui marche nikel' !?
    Je parlais des 2500

    Sinon, fais voir les 6 lignes à pb ....

    A+

  9. #9
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    J'ai fait le test en supprimant tout les caractères spéciaux ça à l'air de tourner.
    Faut que je les convertissent en code HTML (pour l' espace "&nbsp;" etc.).
    Je tiens au courant plus tard.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Stan62970
    Faut que je les convertissent en code HTML (pour l' espace "&nbsp;" etc.).
    Ne serait-ce pas dû au passage par le innerHTML du <div> ?
    Tu as ré-essayer sans ?

    Je dis ça comme ça

    A+

  11. #11
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    <div> ou pas c'est le même combat ! j'ai testé...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Constante chaine non terminée sur une donnée issue d'un flux RSS
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/07/2011, 10h01
  2. Constante chaine non termine?
    Par katchi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/02/2007, 12h02
  3. Réponses: 5
    Dernier message: 02/08/2006, 17h05
  4. signification : constante chaine non terminé
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/08/2005, 12h13
  5. Réponses: 10
    Dernier message: 03/03/2005, 13h36

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