当我尝试包含以下代码时,我在Firefox SyntaxError: unterminated string literal
中收到错误:
<script>
function makeProdiv(data){
var tbl_body = "";
var tbl_row = "";
tbl_row +="<?php foreach($data as $row) {} ?>" (Error at this line)
tbl_body += tbl_row;
return tbl_body;
}
</script>
如果我删除此行,则错误消失。
我在尝试:我正在尝试循环从DB返回的结果并显示值。
请有人帮忙吗?
答案 0 :(得分:2)
您很可能在PHP生成的内容中使用双引号。您需要正确地转义它们,或者,如果PHP内容中没有单引号,您可以这样做:
tbl_row +='<?php foreach($data as $row) { /* ... */} ?>';
如评论中所述,在PHP内容中添加换行符也可能会导致此问题。删除或替换它们。
答案 1 :(得分:0)
尝试这样的事情:
<?php foreach ($data as $row) { ?>
tbl_row += <?php echo json_encode(whatever); ?>;
<?php } ?>
使用json_encode()
将确保为Javascript正确编码PHP值。
答案 2 :(得分:-1)
试试这个:
<?php foreach($data as $row) {?>
tbl_row +=<?php echo $row;?>
<? }?>
它包含什么?
&#39;数据&#39;传递给这个函数&#34; makeProdiv(数据)&#34;
&安培; $数据。
我猜$ data是&#34; tr&#34;从db。取得。