我对自动完成输入的ajax请求有问题,的确可以在本地主机上运行,但是如果有人有解决方案,请拒绝向我显示服务器上的结果。谢谢!
托马斯
form:
<form action="index.php?p=search" method="post">
<input type="text" style="width: 100%" id="autocomplete" name="mot" placeholder="Recherche" autocomplete="off">
<div id="search" class="search" style="width: 100%"></div>
</form>
main.js:
$('#autocomplete').keyup(function () {
$.ajax({
type: "POST",
url: "ajax/getautocomplete.php",
data: 'keyword=' + $(this).val(),
success: function (data) {
$('#search').show().html(data);
$('#autocomplete').css("background", "#FFF");
}
});
});
autocomplete.php:
<?php
require_once '../model/frontend.php';
if (!empty($_POST['keyword'])) :
$key = htmlspecialchars($_POST['keyword']);
$key = trim($key);
$key = strip_tags($key);
$mots = autocompleteMots($key); // Research on my database
if (!empty($mots)) : ?>
<ul id="research">
<?php foreach ($mots as $mot) : ?>
<li onClick="researchMot('<?= $mot['francais'] ?>')"><?= $mot['francais'] ?></li>
<?php endforeach; ?>
</ul>
<script>
function researchMot(val) {
$("#autocomplete").select().val(val);
$("#search").hide();
}
</script>
<?php endif;
endif; ?>
编辑:我找到了一个解决方案,我的ajax查询将我的dbname和其他PDO参数存储在一个错误的文件中,因此他无法查询数据库。