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;">
<?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>
起初我認爲這是代碼的僅僅是複雜返回(對於含有引號例如,等)。但即使是一個簡單的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>
任何想法是什麼原因造成的錯誤?任何修改建議非常感謝!沒有逃逸(\
)