我在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>
Run Code Online (Sandbox Code Playgroud)
然而,当我输出一个代码(HTML实体输出的源代码)的罪魁祸首可变cache_open.handler,它在控制台返回未终止的字符串文字错误.
这是它返回错误的示例输出:
<script>
var cache_open = {};
var cache_name_open={};
var handler='open';
cacheObj_open.handler='<pre class="brush: html;">
<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?></pre>';
cache_name_open.handler='PHP prepared statement';
</script>
Run Code Online (Sandbox Code Playgroud)
起初我以为这只是返回代码的复杂性(例如包含引号等).但即使是简单的HTML代码也会返回错误:
<script>
var cache_open = {};
var cache_name_open={};
var handler='open';
cacheObj_open.handler='<pre class="brush: html;"><html>
<body>
<p>Hello world.</p>
</body>
</html></pre>';
cache_name_open.handler='PHP prepared statement';
</script>
Run Code Online (Sandbox Code Playgroud)
是什么原因导致错误?任何修改建议都非常感谢!
| 归档时间: |
|
| 查看次数: |
77306 次 |
| 最近记录: |