我必须在我的应用程序中使用jquery-ui做自动完成文本框。我有这样的Ajax脚本从数据库中获取数据:jQuery自动完成库返回一个错误的未找到的网址和没有数据显示在文本框
<script>
$(function() {
$("#searchTxt").on('keyup', function(){
searchTxt = $("#searchTxt").val();
$.ajax({
url: '../php/autoComplete.php',
data: {searchTxt: searchTxt},
type: 'GET',
dataType: 'JSON',
success:function(resp)
{
$.each(resp, function(key, result)
{
var availableTags = result['patient_name_en'];
$("#searchTxt").autocomplete({
source: availableTags
});
});
},
error:function(resp)
{
console.log(resp)
}
})
});
});
</script>
这里是autoComplete.php脚本:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once('connection.php');
$cid = $_SESSION['clinic_id'];
$searchTxt = '%'.$_GET['searchTxt'].'%';
$res = array();
$getPatients = "SELECT * FROM patient WHERE clinic_id = :cid and patient_name_en LIKE :searchTxt ORDER BY patient_id DESC";
$execGetPatients = $conn->prepare($getPatients);
$execGetPatients->bindValue(':cid', $cid);
$execGetPatients->bindValue(':searchTxt', $searchTxt);
$execGetPatients->execute();
$getPatientsResult = $execGetPatients->fetchAll();
$i = 0;
foreach($getPatientsResult as $result)
{
$res[$i] = $result;
$i++;
}
echo json_encode($res);
?>
的问题是,我可以看到在的网络标签返回的数据开发者工具,但与其他文件一起返回的The requested URL /ncd/... was not found on this server.
错误下面是对情况的图像,我可以看到一个数组,没有错误返回:
这里是其他红色文件:
在控制台:
我试图从get
类型更改为post
但仍然是相同的问题。
根据网址“ncd/pages/Ahmad ..”正在被解雇。找出这个url模式写在你的代码中的地方。可能与搜索“NCD /页” – Ashish451
可能相关的问:https://stackoverflow.com/questions/6431459/jquery-autocomplete-trigger-change-event –
@ Ashish451它是生成一个网址与我搜索的名称在文本框 – droidnation