php - 将位置变量从 Javascript 传递到 PHP 函数

标签 php javascript web

我使用 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 短代码来替换我想要的内容?

最佳答案

PHP 是一个服务器端超文本预处理器(实际上是缩写“PHP”的根源)。你不能从 javascript 执行 PHP,因为 PHP 不是“活跃的”,简而言之。

您将数据发送到运行 PHP 的服务器 request ,它通过 PHP 进行处理,并输出 XHTML。所有这些<??>在发送到客户端之前就渲染到输出。

客户端仅处理 XHTML 和 Javascript(以及其他内容,但为了简单起见)

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

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

或者,您可以创建一个 PHP 脚本,将其 header 的内容类型设置为 text/javascript接受 $_GET 中的变量,并像这样包含它:

<script type="text/javascript" src="setLocation.php?loc=<?= do_shortcode(/* Whatever */) ?>">

关于php - 将位置变量从 Javascript 传递到 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287984/

相关文章:

javascript - 如果工具提示模板为空,如何在Angular2中禁用NgbTooltip?

javascript - (JavaScript) 使用按钮 onclick 时文本会出现很短的时间

http - 是否可以在网站上找到隐藏文件?

php - ZF : performing redirect inside model

php - 使用 gcc 和 php 编译 C 代码以实现多输入

javascript - String.prototype.replace === String.replace

javascript - 使用 nodemailer 从本地主机发送的电子邮件未送达

Java - 从 URL 获取 JSON 数据

php - MySQL - 只选择包含序列化数据的单元格

php - 使用安全登录抓取网站内容