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] Erreur lors de eval(). Escape, unescape ?


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 3
    Points
    3
    Par défaut [AJAX] Erreur lors de eval(). Escape, unescape ?
    Bonjour à tous,

    Cela fait 2 jours que je cherche une solution introuvable à un problème..
    Alors voici, j'ai une procedure AJAX dont le script php récupère le code-source d'un fichier htm pour le renvoyer au script JS qui fait un "eval()" dessus, afin d'afficher la page. Je passe par php pour faire ca car ca me permet de convertir en ISO mais aussi de renvoyer d'autres données en plus du code source de la page. Cependant, ça ne fonctionne pas, je reçoit cette erreur-ci (dans une console debug de Firefox) :

    unterminated string literal
    document.getElementById("Main").innerHTML = "<!DOCTYPE html PUBLIC \"-//W3C//DTD...

    Le message qui provoque cette erreur et a été envoyé du PHP vers le JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    document.getElementById("Main").innerHTML = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN
    \" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr\" lang=\"fr\">
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-15\">
    <title>Pseudo</title>
    <script language=\"JavaScript\" type=\"text/javascript\" src=\"jsScripts/Login/ValidNewUser.js\"></script
    > 
    <script language=\"JavaScript\" type=\"text/javascript\" src=\"jsScripts/Useful.js\"></script>
    <script language=\"JavaScript\" type=\"text/javascript\" src=\"jsScripts/Engine.js\"></script>
    <script language=\"JavaScript\" type=\"text/javascript\" src=\"jsScripts/LoadPage.js\"></script>
    </head>
    <body onLoad=\"IsJsEnabled()\">
    <div id=\"divFrmNewUser\">
            <form action=\"javascript:EngineInit(\'NewUser\')\" onSubmit=\"return ValidForm()\" method=\"post\"
     name=\"frmNewUser\">
        <br><br><br>
                   <table width=\"100%\" border=\"0\">
              <tr>
                <td width=\"95\" align=\"right\" valign=\"middle\"><font size=\"1\" face=\"Verdana\">Login
    é</font></td>
                <td width=\"129\"><input type=\"text\" name=\"T1\" size=\"20\" onblur=\"Validation(this)
    ;javascript:EngineInit(\'CheckUser\');\" /></td>
                                   <td width=\"18\"><div id=\"errT1icon\" style=\"vertical-align:middle;font-size:0px\"></div></td>
                <td width=\"100%\"><div id=\"errT1\" style=\"font-family: Verdana; font-size: 10px; color
    :#FF0000; font-style:italic;vertical-align:middle;\"></div></td>
              </tr>
              <tr>
                <td align=\"right\" valign=\"middle\"><font size=\"1\" face=\"Verdana\">Password</font><
    /td>
                <td><input type=\"password\" name=\"T2\" size=\"20\" onblur=\"Validation(this)\" /></td>
                <td><div id=\"errT2icon\" valign=\"middle\"></div></td>
                <td><div id=\"errT2\" valign=\"middle\" style=\"font-family: Verdana; font-size: 10px; color
    :#FF0000; font-style:italic\"></div></td>
              </tr>
              <tr>
                <td align=\"right\" valign=\"middle\"><i><font face=\"Verdana\" style=\"font-size: 10px\"
    >Confirmation</font></i></td>
                <td><input type=\"password\" name=\"T3\" size=\"20\" onblur=\"Validation(this)\" /></td>
                <td valign=\"middle\"><div id=\"errT3icon\" valign=\"middle\"></div></td>
                <td><div id=\"errT3\" valign=\"middle\" style=\"font-family: Verdana; font-size: 10px; color
    :#FF0000; font-style:italic\"></div></td>
              </tr>
              <tr>
                <td align=\"right\" valign=\"middle\"><font face=\"Verdana\" size=\"1\">E-mail</font></td
    > 
                <td><input type=\"text\" name=\"T4\" size=\"20\" onblur=\"Validation(this);javascript:EngineInit
    (\'CheckMail\')\" /></td>
                <td valign=\"middle\"><div id=\"errT4icon\" valign=\"middle\"></div></td>
                <td><div id=\"errT4\" valign=\"middle\" style=\"font-family: Verdana; font-size: 10px; color
    :#FF0000; font-style:italic\"></div></td>
              </tr>
              <tr>
                <td align=\"right\" valign=\"middle\"><font face=\"Verdana\" size=\"1\">Ville</font></td
    > 
                <td><input type=\"text\" name=\"T5\" size=\"20\" onblur=\"Validation(this)\" /></td>
                <td valign=\"middle\"><div id=\"errT5icon\" valign=\"middle\"></div></td>
                <td><div id=\"errT5\" valign=\"middle\" style=\"font-family: Verdana; font-size: 10px; color
    :#FF0000; font-style:italic\"></div></td>
              </tr>
              <tr>
                <td align=\"right\">&nbsp;</td>
                <td><input type=\"hidden\" name=\"FieldJsEnabled\" value=\"false\" /></td>
                <td valign=\"middle\">&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
          </table>
                   <br><br>
                   <p><input type=\"submit\" value=\"Submit\" name=\"B1\"><input type=\"reset\" value=\"Reset\" name=
    \"B2\"></p>
    </form></div>
    </body>
    </html>";document.getElementById("StatusPhp").innerHTML = "<fieldset><legend>PHP_Status</legend><p><font
     style=\"color:#999999\">Transfert des données : 0ms</font><br></p></fieldset>";document.getElementById
    ("StatusPage").innerHTML = "<fieldset><legend>Page_Loading_Time</legend><p><font style=\"color:#009900
    \">1ms</font><br></p></fieldset>";
    Et le code PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
     
    header('Content-Type: text/html; charset=ISO-8859-15');
     
     
     
      require_once ('phpScripts/Useful.php');
     
      
     
      $dummy1 = BenchmarkFullPage();
     
      $dummy2 = Benchmark('dummy');
     
     
     
    extract($_POST);
     
    $url = htmlentities(trim(utf8_decode($url)));
     
     
    $log = SetErrColor(Benchmark('Transfert des données'),'Grey'); 
     
     
     
     echo 'document.getElementById("Main").innerHTML = "'. addslashes(get_document($url)) . '";';
     
      
     
         $FullPageTiming = SetFullPageTiming(BenchmarkFullPage());
     
         echo 'document.getElementById("StatusPhp").innerHTML = "<fieldset><legend>PHP_Status</legend><p>' . $log . '</p></fieldset>";';
     
         echo 'document.getElementById("StatusPage").innerHTML = "<fieldset><legend>Page_Loading_Time</legend><p>' . $FullPageTiming . '</p></fieldset>";';
     
     
     
    ?>
    Est-ce que ce problème pourrait venir du fait que je n'utilise pas les escape() et unescape() ?? A cause des espaces dans le source ? Franchement je ne sais plus du tout par où chercher... je désespère.. il y a un dicton qui dit que si un informaticien bute sur un problème, qu'il doit partir promener le chien, et qu'à son retour il trouvera la solution... hum, comment dire.. je n'ai pas de chien

    Je vous remercie d'avance !
    Seb.

  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
    Bonjour,
    c'est les fins de lignes dans la chaîne qui passent pas, semble-t-il.
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.getElementById("Main").innerHTML = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN \" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
    document.getElementById("Main").innerHTML += "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr\" lang=\"fr\"><head>";
    document.getElementById("Main").innerHTML += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-15\"><title>Pseudo</title>";
    ...
    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Je ne sais pas essayer avant ce soir.
    Ce serait quand même bizarre que je doive découper toute la page par petits bouts comme ça ??

  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 drannh
    Je ne sais pas essayer avant ce soir.
    Ce serait quand même bizarre que je doive découper toute la page par petits bouts comme ça ??
    Moi je l'ai fait comme ça, mais tu peux faire des "plus gros bouts" ...

    A+

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2009, 15h17
  2. [JQuery] Erreur lors d'un rappel Ajax
    Par millerf dans le forum jQuery
    Réponses: 2
    Dernier message: 23/08/2007, 22h03
  3. Erreur lors de l'appel d'une page executée avec AJAX
    Par jt-tronix dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2006, 17h56
  4. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16
  5. [VB6] Erreur lors de l'ouverture d'un document Word
    Par Marco le Pouillot dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/01/2003, 09h30

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