select2 не показывает результаты из API - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу показать свои результаты.

Пример:

Если пользователь набирает этот город: Berlin

Тогда в опции выбора должен быть результат "Berlin",Но я не получаю результатов.

Пример домашней страницы Введите город

API City на моей странице

У меня есть 2 примера намоя страница.Frist - это github API, а второй - мой API.API GitHub работает, но мой API не работает.Я получаю это сообщение:

Но почему первый работает?Это тот же код, но я изменил только URL.

enter_city.php

<script src="../js/jquery.min.js"></script>
<script src="../js/select2.min.js"></script>
<link rel="stylesheet" href="../css/select2.min.css">

<select class="js-data-example-ajax ajax2"></select>

<script type="text/javascript">
$(".ajax2").select2({

width:'100%',
    ajax: {
        url: 'api.php',
        dataType: 'json',
        type: "GET",
        delay: 250,
        data: function (params) {
            return {
                q: params.term
        };
    },
        processResults: function (data) {
            var res = data.records.map(function (item) {
            return {id: item.id, text: item.name};
        });
            return {
            results: res
        };
    }   
},

});

});

API.php

<?php
header("Content-Type: application/json; charset=UTF-8");
require_once __DIR__ . '/../config/connect.php';


if($stmt = $pdo->prepare("SELECT * FROM `dataset` WHERE `city` LIKE :city LIMIT 5000;")) {

    $param = ["city" => "{$_GET['q']}%"];

    $stmt->execute($param);

    $ct = $stmt->rowCount();


}

    $prod = array();

    $prod['records'] = array();

    if($ct > 0) {

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

        extract($row);

        $product = array(
            'id' => $row['primary_key'],
            'zipcode' => $row['zipcode'],
            'city' => $row['city'],
            'state' => $row['state'],
            'community' => $row['community']
        );

        array_push($prod["records"], $product);

    }
    http_response_code(200);

    echo json_encode($prod, JSON_UNESCAPED_UNICODE);

    } else {

        echo json_encode(array("Message" => "City not found"));

    }

   ?>
...