当我尝试包含以下代码时,我在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和显示值返回的结果循环。
请问有人可以帮忙吗?
PHP生成的内容中很可能有双引号。您需要正确地转义它们,或者,如果PHP内容中没有单引号,您可以这样做:
tbl_row +='<?php foreach($data as $row) { /* ... */} ?>';
如注释中所述,在PHP内容中使用换行符也可能导致此问题。删除或替换它们
试试这样:
<?php foreach ($data as $row) { ?>
tbl_row += <?php echo json_encode(whatever); ?>;
<?php } ?>
使用json_encode()
将确保PHP值为Javascript正确编码。
试试这个:
<?php foreach($data as $row) {?>
tbl_row +=<?php echo $row;?>
<? }?>
它包含什么?的'data'被传递给这个函数"makeProdiv(data)",$ data .
我猜$data是一个数组"tr"从db.