【问题标题】:How to insert PHP into jQuery?如何将 PHP 插入 jQuery?
【发布时间】:2012-03-16 02:39:49
【问题描述】:

我知道无法从客户端(JavaScript)执行 PHP,但是什么是合适的方法呢?用 PHP 编写我的 jQuery?这是我正在寻找的一个例子。

<!-- Wordpress template URL -->
<div id="template_directory" style="display: none;">
    <?php bloginfo('template_url'); ?>
</div>

<!-- Fetch with jQuery -->
var templDirec = $("#template_directory").html();
var imgHTML = '<img src="' + templDirec + '/images/my-image.jpg" />';

由于我是新手,因此最好使用简单的描述性答案。让 js 和 php 一起工作的最佳方式是什么?谢谢

【问题讨论】:

  • 您到底想达到什么目的?您可以使用 xmlHttpRequest(您可能知道它为 AJAX)从客户端使用 JavaScript 执行 PHP。
  • @Michas 以上工作,我只是想知道此类任务的最佳实践。这只是我试图解决这个问题。
  • @webdeskil 以上只是一个例子。你能告诉我如何使用 AJAX 完成上述操作吗?
  • 您的代码对我来说看起来不错。 AJAX 会更复杂、更慢、更难维护。
  • Michas - 实际上正确建立的异步调用实际上会更容易维护,不太复杂并且产生更快的加载页面。需要注意的是,网站设计就是利用了这一点。 @marcup - 你的问题取决于它的预期成就,鉴于提供的代码结构尚不清楚。 &lt;?php $slides="right in"; ?&gt; 假设您知道自己在做什么,并且环境中没有充满奇怪、奇怪的东西。您对“最佳做法”的要求含糊不清,因为此类“最佳”做法取决于所交付的内容。

标签: php javascript jquery ajax wordpress


【解决方案1】:

你的问题很模糊,不清楚你在问什么。当您从评论或答案中学到一些东西后,请立即编辑和完善您的问题。

首先,正如 cmets 中的 webdeskil 所指出的,您确实可以从客户端调用 PHP 代码,实际上这种情况经常发生。您不能做的是在客户端“打开”执行 PHP 代码。执行服务器端代码的任何请求,在这种情况下,PHP 必须尽可能地转到服务器,并且执行它是有意义的。

从您的标签看来,您正在为 wordpress 编写一些代码。恕我直言,学习编程技能的一个好方法是查看现有代码。由于 wordpress 是开源的,因此您可以打开任何插件或主题并查看内部。但是,满足您的 wordpress 需求的第一资源当然是 codex。仔细阅读 codex 文档,在这种情况下 codex document for using javascript 与您的问题相关。

一些可能有用的提示:

  • 你应该避免编写 php 可以做同样事情的 javascript 文件
  • 如果您使用 JQuery,您应该知道 wordpress 已经为您加载了一个 JQuery 实例,如果可以,您应该避免加载另一个实例

无论如何,为了给您更多帮助,您需要进一步编辑和完善您的问题,否则对于我们试图提供帮助的一切都是猜测。

【讨论】:

  • 我认为这更像是我遇到的一个普遍问题。以上工作(到目前为止一切顺利),但我知道我没有正确看待这一点,虽然你的答案刚刚摆脱了一些,但我仍然想知道程序员如何处理使用 jQuery 和 PHP,使用 AJAX 或者?如果是这样,您能否根据我上面的代码向我展示一个示例?
【解决方案2】:

首先,你应该用script-tag 包装js-code:

<!-- Wordpress template URL -->
<div id="template_directory" style="display: none;">
    <?php bloginfo('template_url'); ?>
</div>

<!-- Fetch with jQuery -->
<script type="text/javascript">
var templDirec = $("#template_directory").html();
var imgHTML = '<img src="' + templDirec + '/images/my-image.jpg" />';
</script>

如果您想将一些数据从 PHP 传递给 JS,请使用 echo:

<script type="text/javascript">
var templDirec = $("#template_directory").html();
var imgHTML = '<img src="<?php echo $image ?>" />';
</script>

$image-php 变量在哪里。一般来说,您可以使用 PHP 和 html 生成任何 JS 代码。

要将数据从 JS 传递到 PHP(从客户端到服务器),请使用 AJAX

我希望这会有所帮助。

【讨论】:

  • $image 在第二个代码块后面应该有一个分号 (;)。
  • 嘿伙计,谢谢,但这不是我要找的。我认为您的代码也不会起作用,因为我尝试过类似的东西,而我得到的只是我的 PHP 的字符串文字(换句话说,PHP 没有转换)。另外,我在 .js 文档中有我的 jQuery,所以不需要
  • @Tarek Fadel:在使用 php-tag(?>) 之前不需要分号。
  • @marcup:请告诉您您到底在寻找什么。你试图做什么?你有什么错误?你的问题不清楚。我试图粗略地描述 JS 和 PHP 代码之间的“通信”。相似的东西并不代表相同。我的代码有效。它必须在 php 文件中,而不是在 js 中。 js 文件不会被 PHP 解释(以防万一)。如果要将 js 代码插入到 html 或 php 文件中,则必须使用
  • @RuslanPolutsygan 哦,好的,如果您在 PHP 中使用上述内容,那么它会起作用,Gottcha。我尝试查看文档,但它并没有为我点击。我是新手,不胜感激。
猜你喜欢
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
相关资源
最近更新 更多