Firebug中未终止的字符串文字错误

时间:2014-08-05 08:53:42

标签: javascript php

当我尝试包含以下代码时,我在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返回的结果并显示值。

请有人帮忙吗?

3 个答案:

答案 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。取得。