1

我正在使用 HTML5 地理定位和 Javascript 通过 Google 的 API 进行反向地理定位查找,以获取用户所在的城镇。这一切都很好,我将城市/城镇存储在一个名为city.short_name.

现在,我正在使用 wordpress,我正在尝试使用以下方法修改我网站的部分内容:

document.getElementById('contenttochange').innerHTML = <? echo do_shortcode('[<code here>]'); ?>;

现在,如果内容一直都是一样的,即

<? echo do_shortcode('[just_do_this]'); ?>

没关系,但不幸的是,我需要将城镇添加为名为search. 例如

<? echo do_shortcode('[just_do_this search="thetownofuser"]'); ?>

因此,基本上,一旦我找到了城镇并将其作为变量,我是否有任何简单的方法可以使用该城镇作为参数来执行 PHP 短代码来替换我想要的内容?

4

1 回答 1

1

PHP 是一个服务器端超文本预处理器(实际上是首字母缩写词“PHP”的根源)。你不能从 javascript 执行 PHP,因为 PHP 不是“活跃的”,一句话。

您将数据作为 .php 文件发送到运行 PHP 的服务器request,它通过 PHP 进行处理,然后输出 XHTML。所有这些<??>都在发送到客户端之前被渲染到它们的输出中。

客户端只处理 XHTML 和 Javascript(除其他外,但为了简单起见)

当然,您可以将变量回显到您的 javascript 中,因为它会呈现到发送给客户端的文档中。一旦到达客户端,PHP 将无法再使用。

要将变量发送到您的 PHP 脚本,您需要进行 AJAX 调用并将location变量作为请求的一部分发送。

Alternatively, you could create a PHP script that has it's header's content-type set to text/javascript that takes in the variable in $_GET, and include it like so:

<script type="text/javascript" src="setLocation.php?loc=<?= do_shortcode(/* Whatever */) ?>">
于 2012-09-05T19:06:52.303 回答