向 PHP 文件发出 AJAX JSON 请求(解析错误)
Making AJAX JSON request to PHP file (parse error)
我有一个 PHP 文件,我在其中从 geoJSON 文件获取数据,我正在浏览数据并将我需要的内容存储在一个新的关联数组中,然后排序它。我需要对该 PHP 文件进行 AJAX 调用以获取排序后的数据,但它抛出“SyntaxError:位置 0 JSON 中的意外标记 a”,“a”是响应中的“a”rray ...,所以我相信它会作为字符串通过。
我的 PHP 文件:
<?php
$countryBordersJson = file_get_contents("../js/countryBorders.geojson");
$countryBordersJsonData = json_decode($countryBordersJson, true);
$dataLength = count($countryBordersJsonData['features']);
$countryNames = array();
for($i = 0; $i < $dataLength; $i++) {
$countryName = $countryBordersJsonData['features'][$i]['properties']['name'];
$countryIsoa2 = $countryBordersJsonData['features'][$i]['properties']['iso_a2'];
$country[$i]['countryName'] = $countryName;
$country[$i]['iso_a2'] = $countryIsoa2;
array_push($countryNames, $country[$i]);
}
sort($countryNames);
$data = json_encode($countryNames);
$decode = json_decode($data, true);
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "success";
$output['data'] = $decode;
header('Content-Type: application/json');
var_dump($output);
?>
我的AJAX请求:
$.ajax({
url: "libs/php/countryBorders.php",
dataType: "json",
type: "GET",
success: function(result) {
console.log(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.warn(jqXHR.responseText, textStatus, errorThrown);
}
})
我仍在努力掌握 JSON、PHP 等。因此,如果有任何帮助,我将不胜感激。
您是否使用 var_dump 发送数据?它不能那样工作。您需要发送一个字符串:
echo json_encode($output);
我有一个 PHP 文件,我在其中从 geoJSON 文件获取数据,我正在浏览数据并将我需要的内容存储在一个新的关联数组中,然后排序它。我需要对该 PHP 文件进行 AJAX 调用以获取排序后的数据,但它抛出“SyntaxError:位置 0 JSON 中的意外标记 a”,“a”是响应中的“a”rray ...,所以我相信它会作为字符串通过。
我的 PHP 文件:
<?php
$countryBordersJson = file_get_contents("../js/countryBorders.geojson");
$countryBordersJsonData = json_decode($countryBordersJson, true);
$dataLength = count($countryBordersJsonData['features']);
$countryNames = array();
for($i = 0; $i < $dataLength; $i++) {
$countryName = $countryBordersJsonData['features'][$i]['properties']['name'];
$countryIsoa2 = $countryBordersJsonData['features'][$i]['properties']['iso_a2'];
$country[$i]['countryName'] = $countryName;
$country[$i]['iso_a2'] = $countryIsoa2;
array_push($countryNames, $country[$i]);
}
sort($countryNames);
$data = json_encode($countryNames);
$decode = json_decode($data, true);
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "success";
$output['data'] = $decode;
header('Content-Type: application/json');
var_dump($output);
?>
我的AJAX请求:
$.ajax({
url: "libs/php/countryBorders.php",
dataType: "json",
type: "GET",
success: function(result) {
console.log(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.warn(jqXHR.responseText, textStatus, errorThrown);
}
})
我仍在努力掌握 JSON、PHP 等。因此,如果有任何帮助,我将不胜感激。
您是否使用 var_dump 发送数据?它不能那样工作。您需要发送一个字符串:
echo json_encode($output);