2016-04-07 1 views
0

J'ai débogué cela pendant des heures mais je ne trouve vraiment pas le coupable de ce personnage illégal. Mon javascript a l'air bien. C'est mon code.Caractère illégal en javascript

this.PrintApplication = function Test$PrintApplication(ApplicationID, callback) { 
     $.post("/Application/PrintApplication/" + ApplicationID, 
     function (data) { 
      var result = eval(data); 
      if (result.error) { 
       DisplayPrompt("Error", result.message); 
       return; 
      } 
      else { 
       callback(result.data); 
      } 
     }); 
    }; 

Dans firebug cela se voit.

enter image description here

En inspectent en chrome et dans la console il me réoriente dans cette ligne.

enter image description here

Toute idée où est ce caractère illégal est dans ma fonction?

+0

Que contient 'data' et êtes-vous absolument sûr que l'utilisation de' eval' est nécessaire? –

+0

Qu'y a-t-il dans 'data'? –

+0

il retourne seulement vrai – bot

Répondre

2

Il semble que vous ayez des caractères non imprimables dans votre source. Avez-vous un moyen de les afficher dans votre éditeur et de les supprimer? Supprimer et retaper la ligne peut également la corriger.

Si ce n'est pas le cas, ce que vous essayez d'évaluer n'est peut-être pas JavaScript du tout. Vous pourriez l'exécuter sur une image ou un type de données binaires.

N'oubliez pas d'être extrêmement prudent lorsque vous utilisez eval sur des données provenant d'une source externe. Si vous pouvez éviter de le faire, évitez-le.

+0

Je vais essayer de le regarder et essayer votre suggestion. – bot

+0

Vous avez raison bro. Le téléchargement excel derrière mon code tourne autour de ma sortie. Et javascript ne peut pas le lire. Merci, j'ai maintenant une avance. – bot

0

Cela peut arriver si vous tapez normalement avec des alphabets différents. Par exemple le point d'interrogation Γreek; est un caractère ASCII différent du semi-colon anglais. Si vous utilisez le premier, vous obtiendrez exactement cette erreur.

Une solution consiste à copier coller votre méthode dans le bloc-notes, puis de nouveau à votre IDE. Cela va souvent normaliser et éliminer les caractères étranges qui pourraient être cachés ou indéchiffrables.

0

Cela peut être dû à la raison pour laquelle vous avez copié le code à partir du Web et simplement collé dans votre fichier. Essayez de taper le même code dans le fichier.

Cette erreur se produit en raison des caractères UTF-8.