Lorsque vous définissez une chaîne en JavaScript, vous joignez les caractères de la chaîne entre guillemets . Si vous commencez la chaîne avec une apostrophe , vous devez mettre fin à la corde avec une apostrophe et échapper d'autres caractères de citation simples qui pourraient être contenues dans le texte de la chaîne , comme une apostrophe , ou l'interpréteur JavaScript s'embrouille . Lorsque vous recevez un message d'erreur " non terminée de chaîne littérale " en JavaScript, cela signifie que vous avez commencé une chaîne de caractères spécifiant être contenue dans cette chaîne , une chaîne littérale, mais vous n'avez jamais désigné la fin de la chaîne , en laissant la chaîne non terminée . Depuis JavaScript ne sait pas où la chaîne s'arrête et où le code JavaScript se poursuit, il s'arrête et vous donne une erreur . Y compris les sauts de ligne
En JavaScript, vous ne pouvez pas inclure des sauts de ligne dans une chaîne en incluant des sauts de ligne réelles dans la définition de la chaîne. Une déclaration de la chaîne multi-lignes en JavaScript provoquera une erreur " non terminée de chaîne littérale " . Par exemple:
//ce qui produit une " chaîne non terminée " string errorvar = " Imprimer thisand alors ce sur une autre ligne " ;
Insérer de nouvelles lignes dans une chaîne JavaScript en utilisant la nouvelle line caractère "\\ n ". Par exemple:
chaîne var = " Imprimer cette \\ Net puis ce sur une autre ligne " ;
Utilisation des variables PHP avec des sauts de ligne
JavaScript et PHP sont souvent utilisés ensemble , comme JavaScript est un langage de script côté client et PHP est un langage côté serveur. Toutefois, si vous injectez une variable PHP qui contient des sauts de ligne dans le code JavaScript, vous recevrez un message d'erreur " non terminée de chaîne littérale " . Depuis les sauts de ligne sont insérés dynamiquement lors de l'exécution , cela peut être difficile à déboguer. Par exemple: < ? Php $ text = <<< ENDPHP texte sur multiple OK linesis avec le heredoc syntaxEND ; > ?
mal de nidification guillemets simples et doubles
JavaScript et la plupart des autres langages de programmation , seul et guillemets peuvent être imbriquées à l'intérieur de l'autre pour créer des chaînes qui contiennent des citations . Si vous ne le faites pas correctement nid guillemets simples et doubles en JavaScript , le résultat est généralement une erreur " non terminée de chaîne littérale " . Par exemple:
//Ceci provoque une erreur " non terminée de la chaîne" en raison de la chaîne apostrophevar = ' Et elle a dit , «Je ne pense pas "';
injecter des citations de PHP
similaires à injecter des variables PHP avec caractères de nouvelle ligne , si vous injectez des variables PHP avec des citations unescaped , vous pouvez également provoquer une erreur " non terminée de chaîne littérale " . L'exemple ci-dessous peut être l'un des plus difficiles à déboguer parce que l'erreur se produit lors de l'exécution et peut seulement se produire occasionnellement. Par exemple, quand "Jack O'Brien " est injecté dans le code JavaScript suivant à partir de PHP , il provoque une erreur " non terminée de chaîne littérale " parce que le nom contient une apostrophe qui n'est pas échappé .
< ; script> nom var = ' < php echo $ nom ; ? >'; Photos
pour éviter l'erreur , utilisez la fonction " addslashes " en PHP pour échapper les guillemets simples, guillemets , une barre oblique inverse et un octet nul . Par exemple: