Quando você define uma string em JavaScript, você coloque os caracteres string entre aspas . Se você começar a string com aspas simples , você precisa terminar a string com aspas simples e escapar qualquer outro caracter de aspas simples que podem ser incluídas no texto da cadeia , como um apóstrofo , ou o interpretador de JavaScript fica confuso . Quando você receber um erro " Unterminated string literal" em JavaScript, isso significa que você iniciou uma seqüência de caracteres especificando a ser contidas nesse corda, uma string literal , mas você nunca designou o final da cadeia , deixando a string não terminada . Desde JavaScript não sabe onde a corda pára e onde o código JavaScript continua , ele pára e dá um erro . Incluindo Quebras de linha
JavaScript, você não pode incluir quebras de linha em uma string , incluindo quebras de linha reais na definição string. A declaração cadeia multi- linha em JavaScript causará um erro " Unterminated string literal" . Por exemplo :
//isto produz uma " string não terminada Literal " corda errorvar = " Imprimir thisand então este em outra linha ";
Inserir novas linhas em uma string JavaScript usando o novo caractere de linha " . \\ n" Por exemplo :
var string = " Imprimir \\ ne então este em outra linha ";
Usando variáveis PHP com quebras de linha
JavaScript e PHP são muitas vezes utilizados em conjunto, como JavaScript é uma linguagem de script do lado do cliente e PHP é uma linguagem server-side. No entanto, se você injetar uma variável PHP que contém quebras de linha em código JavaScript, você receberá um erro " Unterminated string literal" . Desde as quebras de linha são dinamicamente inseridos em tempo de execução , isso pode ser difícil de depurar. Por exemplo :
;
Indevidamente nidificação Single e Double Cotações
JavaScript ea maioria das outras linguagens de programação , único e aspas duplas podem ser aninhados um dentro do outro para criar seqüências que contêm aspas. Se não o fizer corretamente ninho aspas simples e duplas em JavaScript , o resultado é geralmente um erro " string não terminada Literal " . Por exemplo :
//isto produz um erro " string não terminada Literal " por causa da seqüência de apostrophevar = ' E ela disse: "Eu não penso assim "';
a injeção de citações de PHP
Semelhante a injeção de variáveis PHP com caracteres de nova linha , se você injetar variáveis PHP com citações unescaped , você pode também causar um erro " string não terminada Literal " . O exemplo que se segue pode ser um dos mais difíceis de depurar porque o erro ocorre no tempo de execução e só pode ocorrer ocasionalmente . Por exemplo, quando " Jack O'Brien " é injetado o seguinte código JavaScript do PHP , que provoca um erro de " String Unterminated Literal ", porque o último nome contém um apóstrofo que não escapou .
< ; script> var name = ' ? ';
para evitar o erro , utilize a função " addslashes " em PHP para escapar aspas simples , aspas duplas , uma barra invertida e um byte nulo . Por exemplo :