【发布时间】:2019-07-15 00:04:29
【问题描述】:
我正在尝试将我的 ajax 上的 json 响应发送到我在 laraveL 上的视图中。 但是我找不到任何好的代码,考试
public function viewMasakanAjax(Request $request)
{
if($request->ajax())
{
$alberMasakan = Masakan::where('alber_nama_masakan','LIKE','%'.$request->search."%")->get();
return response()->json($alberMasakan)->view('kasir/ajax-menu');
}
}
当我尝试该代码时,它不起作用。
这也是我的看法
@foreach($alberMasakan as $alberData)
<div class="col-xl-3 col-lg-6 col-md-6 col-sm-12 col-12">
<div class="card card-figure">
<figure class="figure">
<div class="figure-img">
<figure class="figure">
<img class="img-fluid" src="{{ asset('kasir/images/seafood.jpg') }}" alt="Card image cap">
<figcaption class="figure-caption">
<h6 class="figure-title"> Simple figure </h6>
<p class="text-muted mb-0"> Give some text description </p>
</figcaption>
</figure>
</figure>
</div>
</div>
@endforeach
这里是我的 ajax 代码
<script>
$('#cariData').on('keyup',function(){
$value=$(this).val();
$.ajax({
type : 'get',
url : '{{route('admin.ajax')}}',
data:{'search':$value},
success:function(data){
$('.ajax').html(data);
if ($value == '') {
$('.isi').remove();
}
}
});
})
</script>
<script type="text/javascript">
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
</script>
我在 web.php 上的路线
Route::get('/cari', 'KasirRestoran\DetailOrderController@viewMasakanAjax')->name('admin.ajax');
【问题讨论】:
-
来自代码
$('.ajax').html(data),我假设您希望/cariAPI 返回 HTML 而不是 JSON。在这种情况下,您可能希望在控制器中使用它:return view('kasir/ajax-menu', $alberMasakan); -
如果某些东西不起作用,您应该发布详细信息,具体说明什么不起作用、任何错误等等。“它不起作用”并不能告诉我们太多关于实际发生的事情。跨度>
-
好吧,我认为我的代码不起作用,因为
$('.ajax').html(data);代码正在将 json 数据替换为 HTML -
@DaveS 没有出现任何错误消息,只是我的
kasir/ajax-menu无法正常工作。可能会导致这个问题$('.ajax').html(data) -
那么你不需要 JSON 数据,你需要 HTML。我将编辑并取消删除我的答案以反映这一点。
标签: javascript jquery json ajax laravel