问题描述
我在laravel 5中使用了ajax搜索功能,而在laravel 7中则无法使用。我正在使用旧版本来学习和升级所有内容,现在在将数据发布到路线时,ajax中出现404错误。我对Laravel还是很陌生,所以仍然学习和修改代码以测试结果。基本上,我试图将两个变量传递给控制器,这些代码都可以在旧版本中使用。任何帮助和指导将不胜感激。
路线
Route::get('/search','SearchController@index');
Route::get('/search/action','SearchController@search')->name('search.action');
控制器
public function search(Request $request)
{
if ($request->ajax()) {
$output = "";
$figures = figures::where('type','LIKE','%' . $request->search . "%")->where('base','%' . $request->txt . "%")->get();
$prodcount = $figures->count();
if ($prodcount >= '1') {
}
return Response($output);
} else {
}
return Response($output);
}
}
}
Ajax
<script type="text/javascript">
//$('#search').on('keyup',function(){
// $("#topping").change(function () {
$("#but").click(function () {
$value=$('#topping').val();
$value2=$('#search').val();
$.ajax({
type : 'get',url : '{{URL::to('search/action')}}',data:{'search':$value,'txt':$value2},success:function(data){
$('tbody').html(data);
//console.log(data);
}
});
})
</script>
<script type="text/javascript">
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
</script>
解决方法
我可以看到2个错误
-
$value2=$('#search').val();
至var value2=$('#search').val();
-
url : '{{URL::to('search/action')}}',
至url : {{ route('search.action') }}
<script type="text/javascript">
//$('#search').on('keyup',function(){
// $("#topping").change(function () {
$("#but").click(function () {
var value=$('#topping').val();
var value2=$('#search').val();
$.ajax({
type : 'get',url : '{{ route('search/action')}}',data:{'search':value,'txt':value2},success:function(data){
$('tbody').html(data);
//console.log(data);
}
});
})
</script>
<script type="text/javascript">
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
</script>
这是固定代码,请尝试