2013-01-05 91 views
9

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

 <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> 

任何想法是什么原因造成的错误?任何修改建议非常感谢!没有逃逸(\

回答

相关问题