5

我正在使用 Google Maps 制作一张地图,该地图可以加载带有存储在数据库中的 lat/lng 数据的标记。我希望用户可以通过单击按钮加载三个不同的“层”。单击该按钮时,将在服务器上执行一个 php 函数,根据数据库上的信息创建一个 xml 文件。然后调用 AJAX 函数来提取此 xml 数据,然后使用该数据创建地图标记。有没有办法将变量从 AJAX 中的 javascript 传递给 PHP,而不是为每个“层”使用单独的 PHP 函数(除了 SQL 查询行之外,这将是同一件事)?

4

5 回答 5

10

如果您使用 AJAX 请求,将变量传递给 php 文件非常容易。这是一个简单的例子。

 $('#your-button').on("click", function(){
       var somevar1 = "your variable1";
       var somevar2 = "your variable2";
    $.ajax({
        type:"POST",
        url: "your-phpfile.php",
        data: "variable1=" + somevar1 + "\u0026variable2="+ somevar2,
        success: function(){
        //do stuff after the AJAX calls successfully completes
    }

    });
});

然后在您的 php 文件中,您可以使用简单地访问变量

 $ajax_var1 = $_POST['variable1'];
 $ajax_var2 = $_POST['variable2'];
于 2012-10-16T21:21:51.583 回答
7

请试试这个:

我们可以将值从 javascript 传递给 PHP。

我们可以使用,

$getValue = "<script>document.write(your script variable);</script>";
于 2012-10-16T20:54:38.050 回答
1

如果您使用以下 url 执行 ajax get 请求

somePhpFile.php?varName=10

在你的 somePhpFile.php 中,你可以做

$v = $_GET['varName'];
于 2012-10-16T20:50:47.383 回答
1

这是 Mike Williams 的 (v2) 关于“AJAX 哲学”的教程,他完全按照您的要求进行操作。

(我应该注意地图使用 Google Maps API v2,但这个概念不是特定于 API 版本的)

于 2012-10-16T21:21:33.247 回答
1

引用 Vijay S 的话:

请试试这个:

我们可以将值从 javascript 传递给 PHP。

我们可以使用,

$getValue = echo "<script>document.write(your script variable);</script>";

稍微修改了一下,对我来说效果很好:

$getValue = "<script>document.write(YourVarHere);</script>";
echo $getValue;
于 2015-07-16T09:44:31.710 回答