【发布时间】:2021-09-02 11:23:35
【问题描述】:
我有一个如下所示的 AJAX 请求文件:
$.ajax({
url: 'libs/php/getCountryBorder.php',
type: 'POST',
dataType: 'json',
data: {
name: 'Bahamas',
},
success: function (response) {
console.log(response);
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
},
});
我还有一个 geojson 文件,看起来像这样:
你可以在这里查看我本地的geojson文件Geojson File
这是我对本地文件 geo.json 文件的 PHP 例程调用:
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$url = 'https://stephenorowole.co.uk/vendors/countryBorder/countryBorders.geo.json?&name=' . $_REQUEST['name'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
$jsonResponse = json_decode($response, true);
$output['data'] = $jsonResponse['features'];
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);
?>
因此,我从另一个文件对 php 进行了 Ajax 调用,以仅获取 json 文件中的特定名称。它不仅返回名称数据,还返回 json 文件中的所有数据。我想要的是通过请求返回的json中的特定数据。 我不知道如何使用本地文件执行此操作。如果我使用外部 API,这对我来说很容易。
在外部 API 中,如果请求仅返回与特定纬度和经度匹配的国家/地区,则将针对该特定请求返回特定数据。但是,当我使用本地文件时,我不知道如何实现这一点。
我希望能够在拨打电话时根据作为请求数据提供的国家/地区名称获取国家/地区的几何形状。我刚刚添加了 ajax 调用。
任何帮助将不胜感激。
【问题讨论】:
-
您将不得不自己进行数据提取。即遍历记录以找到您想要的记录。
-
好的,假设我想让一个 ajax 获取单独的名称列表和另一个 ajax 请求来获取特定于该名称的几何,我是否需要为每个请求创建不同的 php 文件。跨度>
-
请将您的代码作为文本而不是代码的图像添加到问题中
标签: javascript php ajax curl