jquery Uncaught SyntaxError:意外的标记ILLEGAL

时间:2015-03-04 05:15:56

标签: javascript php jquery

使用$.post将数据发送到外部php

拥有以下代码(修改后的变量名称)text_of_the_ad:"<?php echo htmlspecialchars( substr($arr[0]["SomeText"],0,70), ENT_QUOTES, "UTF-8"); ?>",

外部php中的

text_of_the_ad将使用$_POST['text_of_the_ad']

$arr[0]["SomeText"]是来自mysql列SomeText

的文本

在Chrome控制台中,请参阅text_of_the_ad:"CITROEN C4 EXCLUSIVE 2.0 HDI DIESEL 5 DOOR HATCH LOW MILEAGE FSH FULL ",

enter image description here

并查看错误Uncaught SyntaxError: Unexpected token ILLEGAL

为什么会出错?可能是因为单词FULL位于下一行,单词FSH后面没有",

2 个答案:

答案 0 :(得分:2)

JavaScript不支持多行字符串。解决此问题的最简单方法可能是在回显之前用\n替换文字\\n

<?php echo str_replace("\n","\\n",htmlspecialchars( substr($arr[0]["SomeText"],0,70), ENT_QUOTES, "UTF-8")); ?>

答案 1 :(得分:0)

您可以尝试使用行继续符,即\。所以你的来源应该是这样的:

text_of_the_ad:"CITROEN C4 EXCLUSIVE 2.0 HDI DIESEL 5 DOOR HATCH LOW MILEAGE FSH\
FULL "

JavaScript中的多行字符串必须进行转义,但这样做并不总能产生您想要的行为 - 即有时浏览器可能会插入换行符,有时候可能不会。