如何运行通过JS动态添加到DOM的php代码

时间:2014-08-29 17:00:24

标签: javascript php jquery html

所以我有这个网站项目,我将在内容div中加载内容。

<div id="content_wrapper">
  <!-- content goes here -->
</div>

以及带有

content.js文件
var c_index = 'Some cool text stuff<br>' +
              'pretty neat, and also with a<br>' +
              '<img src="image1.png" alt="thumb1">';

var c_service = '/* other stuff in here */';

并根据我的点击次数:

$('#content_wrapper').html(c_index); // or different content vars

我的问题是如何将其与php结合起来。例如,从数据库中获取的一些信息:

var c_dynamic = '<?php echo $output["row1"] . ' ' . $output["row2"] ?>';

$('#content_wrapper').html(c_dynamic);

是否有类似的内容我可以附加PHP然后在不重新加载页面的情况下运行它。

3 个答案:

答案 0 :(得分:1)

我不知道这是否是你正在寻找的http://php.net/manual/en/function.eval.php,但即便是php也认为这是一个糟糕的主意。如果它是您最初传递的数据并且稍后需要显示,则将其存储在javascript var中并在需要时访问它,否则如您的问题的注释中所述,进行ajax调用以在需要时检索它。

答案 1 :(得分:0)

你可能不会。您的PHP代码在JavaScript启动之前已经完成执行。你在屏幕上看到的不是PHP代码,它是PHP代码的输出。翻译不会运行,并且不会运行您添加的任何内容。

可能有一些我不知道的伎俩,但我打赌你不能这样做。

执行所需操作的另一种方法可能是在JavaScript中调用PHP脚本,然后发回一些JSON。有问题的PHP脚本会为您运行数据库查询,并将您想要呈现的信息作为JSON发回给用户。然后,您可以将检索到的信息插入DOM中。

http://php.net/manual/en/function.json-encode.php

该功能应该派上用场。

答案 2 :(得分:0)

您需要使用Ajax执行此操作:http://api.jquery.com/jquery.ajax

在页面加载后你无法设置php变量。