2012-02-26 45 views
1

我明白,不能从客户端(JavaScript)执行PHP,但那么适当的方法是什么?在PHP中写我的jQuery?这是我正在寻找的一个例子。如何将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一起工作的最佳方式是什么?由于

+1

什么不行? – Michas 2012-02-26 07:07:37

+1

你究竟想达到什么目的?您可以使用xmlHttpRequest从JavaScript客户端执行JavaScript(您可能知道它是AJAX)。 – 2012-02-26 07:33:57

+0

@Michas上述作品,我只是想知道这些任务的最佳做法。这只是我试图解决这个问题。 – Marc 2012-02-27 07:01:44

回答

2

首先,你应该换行的js代码与script - 标签:

<!-- 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

我希望这将有助于。

+0

'$ image'在第二个代码块中应该有一个分号(;)。 – 2012-02-26 09:22:02

+0

嘿,伙计,谢谢,但这不是我要找的。我不认为你的代码也可以工作,因为我尝试了类似的东西,我得到的只是我的PHP的字符串文字(换句话说,PHP没有转换)。另外,我在.js文件中有我的jQuery,因此不需要

0

你的问题非常模糊,不清楚你在问什么。只要您从评论或答案中了解到某些内容,请立即修改并优化您的问题。

首先,正如webdeskil在评论中指出的那样,您确实可以从客户端调用PHP代码,而且事实上这经常是非常频繁的。你不能做的是在客户端执行PHP代码。任何执行服务器端代码的请求,在这种情况下,PHP都必须到达服务器端,并且它是有意义的,才能执行。

从你的标签看起来你正在为wordpress写一些代码。恕我直言,学习编程技巧的一种好方法是查看现有的代码。由于wordpress是开源的,您可以打开任何插件或主题并进行查看。然而,你的wordpress需要的头号资源当然是codex。仔细阅读法典文档,在这种情况下,codex document for using javascript与您的问题有关。

一些提示,也许有所帮助:

  • 你应该避免编写JavaScript文件,其中PHP可以做同样的事情
  • 如果您使用JQuery,你应该知道,WordPress的已经加载的JQuery的实例为你你应该避免加载另一个实例,如果你能

总之,给你更多的帮助,你需要编辑和进一步优化的问题,否则其所有的猜测我们试图帮助。

+0

我认为这是我所遇到的一个普遍问题。上面的作品(迄今为止很好),但我知道我没有看到这在正确的光线,而你的答案刚刚摆脱了一些,我仍然想知道程序员如何处理与jQuery和PHP的工作,与AJAX soley,或?如果是这样,你能告诉我一个基于我上面的代码的例子吗? – Marc 2012-02-27 07:23:32