我要做的是在append属性中使用phpinclude。像这样的:

$('a.popup[href^=#]').click(function() {
$('body').append('<div id="content" class="popup_block"><?php include( SITE_URL . 'activity/popup.php' ) ?></div>');

我的脚本在一个php文件中,服务器端,这样我就可以完成这个任务,但我不知道如何去做。当涉及HTML、CSS等时,我可以在PHP文件中组合它和PHP,但是当涉及到JavaScript时,它的引号使我感到困惑,以及何时以及如何使用括号。这听起来可能有点让人困惑。不管怎样,CData和它有什么关系吗?我以前从没用过,但我至少应该学会它的用处。

最佳答案

php解释器将只查找<?php?>标记,并尝试计算两者之间的任何值。它不在乎周围的引语。您需要确保php所做的一切的结果都是有效的javascript。

var foo = '<?php include 'foo.php'; ?>';

变成
var foo = 'This is the content of foo.php.';

在php完成之后。
如果foo.php中有任何引号,则可能会变成:
var foo = 'This is the 'content' of foo.php.';

这是无效的javascript语法。您需要转义任何可能导致这种无效语法的foo.php字符,例如使用addslashes。这可能是相当麻烦的,但我建议寻找一个替代这一开始。
您可以使用JSON编码该值,这绝对是语法安全的:
var foo = <?php echo json_encode("Some string with 'quotes'."); ?>;

在代码中生成代码总是很棘手的,尽量不要这样做,并坚持与语言无关的数据交换格式,如json或xml。

09-26 21:50
查看更多