【问题标题】:SyntaxError: unterminated string literal strange error [duplicate]SyntaxError:未终止的字符串文字奇怪的错误[重复]
【发布时间】:2013-01-05 16:48:41
【问题描述】:

我在 JavaScript 中有这个奇怪的未终止字符串文字错误。当我只输出一个像“php”这样的单词时(在 cache_open.handler 变量中)。没有错误。这是脚本,以下工作正常:

        <script>
        var cache_open = {};
        var cache_name_open={};         
        var handler='open';
        cache_open.handler='<pre class="brush: html;">php</pre>';           
        cache_name_open.handler='PHP prepared statement';           
        </script>

但是,当我将代码(html 实体输出的源代码)输出到罪魁祸首变量 cache_open.handler 时,它会在控制台中返回未终止的字符串文字错误。

这是返回错误的示例输出:

        <script>
        var cache_open = {};
        var cache_name_open={};         
        var handler='open';
       cacheObj_open.handler='<pre class="brush: html;">
       &lt;?php
       $stmt = $dbh-&gt;prepare(&quot;SELECT * FROM REGISTRY where name = ?&quot;);
       if ($stmt-&gt;execute(array($_GET['name']))) {
       while ($row = $stmt-&gt;fetch()) {
       print_r($row);
       }
       }
       ?&gt;</pre>';            
    cache_name_open.handler='PHP prepared statement';           
        </script>

起初我认为这只是返回的代码的复杂性(例如包含引号等)。但即使是简单的 HTML 代码也会返回错误:

        <script>
        var cache_open = {};
        var cache_name_open={};         
        var handler='open';
        cacheObj_open.handler='<pre class="brush: html;">&lt;html&gt;
        &lt;body&gt;
        &lt;p&gt;Hello world.&lt;/p&gt;
        &lt;/body&gt;
        &lt;/html&gt;</pre>';           
    cache_name_open.handler='PHP prepared statement';           
        </script>

任何想法是什么导致了错误?任何修改建议都非常感谢!

【问题讨论】:

    标签: javascript


    【解决方案1】:

    Javascript 字符串不能在没有转义的情况下换行 (\)。有关详细答案,请参阅此问题:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多