【问题标题】:jquery Uncaught SyntaxError: Unexpected token ILLEGALjquery Uncaught SyntaxError: Unexpected token ILLEGAL
【发布时间】:2015-03-04 13:23:11
【问题描述】:

$.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 ",

看到错误Uncaught SyntaxError: Unexpected token ILLEGAL

为什么会出错?可能是因为单词FULL 在下一行,而单词FSH 之后没有",

【问题讨论】:

    标签: javascript php jquery


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以尝试使用行继续符,即\。这样您的来源看起来像:

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

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

      【讨论】:

        猜你喜欢
        • 2012-09-12
        • 1970-01-01
        • 1970-01-01
        • 2012-11-20
        • 2012-01-30
        • 2011-12-01
        • 1970-01-01
        • 2012-09-22
        相关资源
        最近更新 更多