我使用laravel,现在我想通过ajax从DB搜索。它工作但我想在当前情况下显示任何我不想在页脚中的结果。
您现在是如何获取并显示此部分中的数据的?
<script>
$(document).ready(function() {
src = "{{ url('/')}}/users/searchhistory";
$("#search_text").autocomplete({
source: function(request, response) {
$.ajax({
url: src,
dataType: "json",
data: {
term : request.term
},
success: function(data) {
response(data);
}
});
},
minLength: 1,
});
});
</script>
和控制器
public function autoComplete(Request $request) {
$query = $request->get('term','');
$products=User::where('fullname','LIKE','%'.$query.'%')->get();
$data=array();
foreach ($products as $product) {
$data[]=array('value'=>$product->fullname,'id'=>$product->id);
}
if(count($data))
return $data;
else
return ['value'=>'No Result Found','id'=>''];
}
答案 0 :(得分:0)
在控制器的返回陈述中使用json()
public function autoComplete(Request $request)
{
//othercodes
return response()->json($data);
}
然后在你的ajax结果中你有正确的json格式的响应 您可以将数据添加到html标记
$.ajax({
success: function(data) {
$.each(data,function(prodcut){
// now you have every product
use javascript append function to a add new element with this product data
});
}
});