select2不显示API的结果

时间:2018-12-14 01:24:55

标签: jquery-select2

我想展示我的结果。

示例:

如果用户输入此城市:柏林

然后在选择选项中应为结果“柏林”。但是我没有结果。

Example Homepage Enter City

API City on my page

我的页面上有2个示例。 Frist是一个github API,第二个是我的api。 github api有效,但是我的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"));

    }

   ?>

0 个答案:

没有答案