在jquery中使用php包含

在jquery中使用php包含,php,jquery,wordpress,Php,Jquery,Wordpress,我想做的是在jqueryappend属性中使用phpinclude。大概是这样的: $('a.popup[href^=#]').click(function() { $('body').append('<div id="content" class="popup_block"><?php include( SITE_URL . 'activity/popup.php' ) ?></div>'); $('a.popup[href^=#]')。单击(函数(){

我想做的是在
jquery
append属性中使用php
include
。大概是这样的:

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

我的脚本在一个php文件中,服务器端,所以我可以完成这项工作,但我不知道如何去做。当涉及到html、css等时,我可以在php文件中结合它和php,但当涉及到javascript时,是引号让我困惑,以及何时和如何使用括号。这听起来可能让人困惑lol。无论如何,CDATA哈我以前从未使用过它,但我至少应该了解它的用法。

如果你100%确定你的包含中没有任何单引号,那么你如何使用它应该没有问题


如果您想将其可视化,请从包含的php文件中复制所有生成的代码,并将其粘贴到
append()的主页中
。查看它的外观。这会让您很好地了解浏览器的最终结果。

PHP解释器将只查找
标记,并尝试评估其间的任何内容。它不关心周围的引号。您需要确保PHP所做的任何操作的结果都是有效的Javascript

var foo = '<?php include 'foo.php'; ?>';
在PHP完成之后

如果
foo.php
中有任何引号,则可能会变成:

var foo = 'This is the 'content' of foo.php.';
这是无效的Javascript语法。您需要转义可能导致此类无效语法的
foo.php
的任何字符,例如。这可能非常麻烦,因此我建议首先寻找一个替代方法

您可以使用JSON对值进行编码,这绝对是语法安全的:

var foo = <?php echo json_encode("Some string with 'quotes'."); ?>;

var foo=hmmm,你知道,我从来没有想过。这适用于包含的php文件的内容吗?哦,好吧,那么这是一个合法的标记吗?jquery中的
?只是确保我没有遗漏任何内容哦,是的,一定要考虑一下。页面在服务器上处理。服务器读取php并输出html(或其他)。然后它会将页面发送到您的浏览器,浏览器会读取js和html。我需要一个特殊的插件来调用JSON吗?现在我正在使用jQuery 1.4。4@Sin,它是有效的Javascript,适合用作简单的数据交换格式。不,你不需要任何特殊的东西来使用它。好吧,酷,还有一个问题。我想做的是,用一个p文件,其中包含一些服务器端代码,但大部分是html。这让我非常恼火,如果在我的索引中包含该文件并将其隐藏,它会完美地显示出来。但我只希望在需要时调用它,以帮助加快速度。我尝试了.load,但它不会加载并传递php,因此,如果我应该使用是路线在第一位,以实现我想要的,真的我到了一点,我会去与任何作品lol@Sin您似乎正在加载大量数据,这确实不是很好。如果您不能将其分解并通过更原生的JS(同样,数据交换,而不是HTML交换)处理它,那么一些AJAX可能是更好的方法。不过,如果没有细节,很难说,最好为它打开一个新的问题。
var foo = <?php echo json_encode("Some string with 'quotes'."); ?>;