我想展示我的结果。
示例:
如果用户输入此城市:柏林
然后在选择选项中应为结果“柏林”。但是我没有结果。
我的页面上有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"));
}
?>