Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebug中未终止的字符串文字错误_Javascript_Php - Fatal编程技术网

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

Javascript Firebug中未终止的字符串文字错误,javascript,php,Javascript,Php,当我尝试包含以下代码时,FirefoxSyntaxError: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

当我尝试包含以下代码时,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>

函数makeProdiv(数据){
var tbl_body=“”;
var tbl_row=“”;
tbl_行+=“”(此行出错)
tbl_body+=tbl_行;
返回tbl_体;
}
如果我删除这一行,错误就会消失

我正在尝试的是:我正在尝试循环从DB返回的结果和显示值


请任何人提供帮助?

PHP生成的内容中很可能有双引号。您需要正确地转义它们,或者,如果PHP内容中没有单引号,您可以执行以下操作:

tbl_row +='<?php foreach($data as $row) { /* ... */} ?>';
tbl_行+='';

如评论中所述,在PHP内容中使用换行符也可能导致此问题。卸下或更换它们。

尝试以下操作:

<?php foreach ($data as $row) { ?>
    tbl_row += <?php echo json_encode(whatever); ?>;
<?php } ?>

tbl_行+=;
使用
json\u encode()
将确保为Javascript正确编码PHP值。

尝试以下操作:

      <?php foreach($data as $row) {?>
        tbl_row +=<?php echo $row;?>
      <? }?>

tbl_行+=
里面装的是什么 传递到此函数“makeProdiv(数据)”的“数据” &$data


我猜$data是从db获取的“tr”数组。

在您的例子中,PHP是服务器端,JavaScript是客户端。如果您的PHP代码到达浏览器,则表明您的服务器设置有问题(或者您甚至没有服务器)。foreach的主体是否真的是空的,或者您决定不在这里复制它?对我来说很好。没有任何错误。@Barmar。这是一段很长的代码。所以我决定不包括在这里,因为我得到的是相同的身体error@user3909577-您有客户端错误。向我们展示你生成的客户端代码,而不是生成它的服务器端代码(一个废弃版本)。如果他在内容中有换行符,也可能是这样,因为JS不允许字符串中有换行符。然后你需要发布更多的代码,这样我们就可以看到你实际上在做什么导致了问题。我不相信你说你得到了一个空循环体的错误。@Barmar这就是我们两个。不要只发布未注释的代码-解释为什么它是一个解决方案。