向 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);