javascript - Jquery 自动完成返回表中的所有行,而 PHP 根据查询返回结果
问题描述
奇怪的问题 - Javascript 可以访问比 php 返回的数据更多的数据(或者可能就是这样)。
Javascript:无论我通过查询搜索什么( term ),以下代码都会返回表中的所有记录。
$(document).ready(function() {
//autocomplete
$(function() {
$("#search").autocomplete({
source: function(request, response) {
$.ajax({
url: "fetch_emojis.php",
method: 'post',
data: { term: request.term },
dataType: 'json',
success: function(data) {
response(data);
}
});
},
minLength: 1,
open: function(event, ui) {
$(".ui-autocomplete").css("z-index", 1000);
},
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li><div><img src='" + item.img + "'><span>" + item.description + "</span></div></li>").appendTo(ul);
};
});
});
PHP:以下代码,如果单独运行,则根据查询返回行(包括示例结果集)
<?php
if ( !isset($_REQUEST['term']) ) {
exit;
}
$DB_host = "hostname";
$DB_login = "userid";
$DB_pass = "password";
$DB_select = "dbname";
$DB_port = "portnumber";
$mysqli = mysqli_connect($DB_host,$DB_login,$DB_pass,$DB_select,$DB_port);
$term = trim(strip_tags($_GET['term']));
$term = preg_replace('/\s+/', ' ', $term);
$a_json = array();
$a_json_row = array();
$a_json_invalid = array(array("id" => "#", "value" => $term, "label" => "Only letters and digits are permitted..."));
$json_invalid = json_encode($a_json_invalid);
if(preg_match("/[^\040\pL\pN_-]/u", $term)) {
print $json_invalid;
exit;
}
if ($data = mysqli_query($mysqli, "SELECT * FROM emojis WHERE description LIKE '%$term%'")) {
while($row = mysqli_fetch_array($data)) {
$id= htmlentities(stripslashes($row['id']));
$description = htmlentities(stripslashes($row['description']));
$source = htmlentities(stripslashes($row['source']));
$a_json_row["id"] = $id;
$a_json_row["description"] = $description;
$a_json_row["img"] = $source;
array_push($a_json, $a_json_row);
}
}
echo json_encode($a_json);
?>
术语 = 'grin' 的 PHP 结果:
[{"id":"1","description":"笑脸","img":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/ apple/155/grinning-face_1f600.png"},{"id":"5","description":"大眼睛笑脸","img":"https://emojipedia-us.s3.dualstack. us-west-1.amazonaws.com/thumbs/72/apple/155/smiling-face-with-open-mouth_1f603.png"},{"id":"6","description":"笑脸眼睛","img":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/apple/155/smiling-face-with-open-mouth-and- smile-eyes_1f604.png"},{"id":"7","description":"汗流浃背的笑脸","img":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/apple/155/smiling-face-with-open-mouth-and-cold-sweat_1f605.png"},{" id":"8","description":"笑眯眯的脸","img":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/apple/ 155/smiling-face-with-open-mouth-and-tightly-closed-eyes_1f606.png"},{"id":"102","description":"Grinning Cat Face","img":"https: //emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/apple/155/smiling-cat-face-with-open-mouth_1f63a.png"},{"id":" 103","description":"笑眼笑的猫脸","img":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws。com/thumbs/72/apple/155/grinning-cat-face-with-smiling-eyes_1f638.png"}]
关于我可能做错了什么的任何想法?
解决方案
推荐阅读
- google-cloud-platform - 如何使用 Google Cloud Speech to Text 我在任何地方都找不到任何信息?
- python-3.x - 如何解决 KeyError: 'val_mean_absolute_error' Keras 2.3.1 and TensorFlow 2.0 From Chollet Deep Learning with Python
- elasticsearch - Spring Data Elasticsearch - ReactiveElasticsearchClient 无法保存变音符号
- python - Python+Selenium:检查不属于页面源的自动关闭通知
- powerbi - dax 比较客户选择的月份与其他月份
- scala - Gatling : 模拟的扩展方法
- python - 时间序列季节性分解中的次要刻度轴和主要刻度轴 matplotlib 格式
- asp.net-mvc - 会话丢失时未触发全局 asax Session_End
- logic - 如何在 Verilog 中实现 4 位加法器/减法器
- python - 带有 RPi (python3) RuntimeError 的 AlarmSystem:已为此 GPIO 通道启用冲突边缘检测