我正在使用HTML5地理定位和Javascript来使用Google的API进行反向地理位置查找,以获取用户所在的城镇。这一切都很好,我将城市/城镇存储在名为city.short_name
的JavaScript变量中。
现在,我正在使用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短代码与该城镇作为参数来替换我希望的内容?
答案 0 :(得分:1)
PHP是服务器端超文本预处理器(实际上是首字母缩略词“PHP”的根源)。你不能从javascript执行PHP,因为PHP不是“活跃的”,只能用一个词来表示。
您将数据作为request
发送到运行PHP的服务器,它通过PHP处理,然后输出XHTML。所有这些<??>
在被发送到客户端之前都会被呈现到它们的输出中。
客户端仅处理XHTML和Javascript(除其他事项外,为了简单起见)
您可以将变量回显到您的javascript中,因为它会呈现给发送出客户端的文档。一旦它到达客户端,就不能再使用PHP了。
要将变量发送到PHP脚本,您需要进行AJAX调用并将location
变量作为请求的一部分发送。
或者,您可以创建一个PHP脚本,将其标题的内容类型设置为text/javascript
,其中包含$_GET
中的变量,并将其包括在内:
<script type="text/javascript" src="setLocation.php?loc=<?= do_shortcode(/* Whatever */) ?>">