我目前正在通过 PHP 回显显示 javascript:
echo 'var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;';
但是我得到一个 Uncaught SyntaxError: Unexpected token < 我推断的错误与第二个有关
我怎样才能解决这个问题,还有其他可能性吗?
一些专家的建议将不胜感激。
我目前正在通过 PHP 回显显示 javascript:
echo 'var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;';
但是我得到一个 Uncaught SyntaxError: Unexpected token < 我推断的错误与第二个有关
我怎样才能解决这个问题,还有其他可能性吗?
一些专家的建议将不胜感激。
该代码以无效的 Javascript 代码结尾。
这是发生的事情:
您的服务器回显一个字符串:
echo 'var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;';
您的浏览器现在有:
var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;
一旦您的 PHP 脚本完成运行并回显第一个字符串,PHP 就无法处理内部回显。
我会做什么:
$data = json_encode($yearData_Invoices[$currentYear]);
echo 'var currentInvoiceDataJSON = ' . $data . ';';
改为这样做:
echo 'var currentInvoiceDataJSON = '.<?php echo json_encode($yearData_Invoices[$currentYear] ); ?>.';';
我没有对此进行测试,但试一试:
echo "var currentInvoiceDataJSON = '".str_replace("'","\\'",json_encode($yearData_Invoices[$currentYear]))."';";
只需更改为
echo "var currentInvoiceDataJSON = ".json_encode($yearData_Invoices[$currentYear] ).";";
并且还要注意 php 中的单引号字符串不会插入变量,所以
$a = "Hello World";
echo '$a'; // outputs : $a
echo "$a"; // outputs : Hello World
当你在 php 上下文中时