使用$.post
将数据发送到外部php
拥有以下代码(修改后的变量名称)text_of_the_ad:"<?php echo htmlspecialchars( substr($arr[0]["SomeText"],0,70), ENT_QUOTES, "UTF-8"); ?>",
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 ",
并查看错误Uncaught SyntaxError: Unexpected token ILLEGAL
为什么会出错?可能是因为单词FULL
位于下一行,单词FSH
后面没有",
?
答案 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中的多行字符串必须进行转义,但这样做并不总能产生您想要的行为 - 即有时浏览器可能会插入换行符,有时候可能不会。