使用 AJAX:将变量发送到从数据库生成 XML 的 PHP 文件


Using AJAX: Send variables to a PHP file which generate XML from a Database

我正在建立一个WebGIS网站,我遇到了一些问题。首先,我有一个HTML文件,我在其中使用LeafLet地图可视化工具。每次用户在地图上"平移"时,地图的边界都应该发送到PHP文件,在那里我从Postgresql-PostGIS数据库服务器查询新信息,然后从中生成XML文件。完成此过程后,我想使用 XML 文件通过 Leaflet 可视化 HTML 文件上的数据。因此,我想知道在这种情况下您会建议我采取什么样的策略。

到目前为止,我已经成功地完成了以下事情:

  • 我有一个索引.html文件,我在其中放置了传单地图。使用一些传单功能,我可以获取边界框的数据,所以我唯一需要的是将其发送到名为dbAccessAndXmlGenerator的PHP文件.php。我应该在这里使用 AJAX 吗?

  • 在项目开始时,我成功地实现了从XML文件中获取数据并将其可视化在地图上。我使用了这个实现:

    $(document).ready(function()
    {
    $.ajax({
        type: "GET",
        url: "xmlRes.xml",
        dataType: "xml",
        success: parseXml
    });
    

然后有一个parseXML javascript函数,我可以在其中使用xml文件中的数据:

    function parseXml(xml){...}
  • dbAccessAndXmlGenerator.php中的查询和 xml 生成工作正常。

在html文件中有一个名为onMapChange(e)的javascript函数,当用户在地图上平移或移动时,它可以生成地图边界框的数据。所以我的任务是将这些变量发送到PHP文件,在那里我将使用这些变量进行查询,然后PHP文件将生成一个XML,该XML将再次被HTML和javascript使用。

我希望我是可以理解的。我仍然是同时使用所有这些语言的初学者,所以很抱歉。提前感谢!

愿你安好

丹尼尔

您所需要的只是:

$.ajax({
    type: "POST",
    url: "some_script.php",
    data: { "parameter1" : 1, "parameter2" : 2 },
    dataType: "xml",
    success: parseXml
});

some_script.php

$parameter1 = $_POST['parameter1'];
$parameter2 = $_POST['parameter2'];
...
// generate XML and echo it

无需更改parseXml()功能,即可正常工作