如何响应Ajax搜索输出以查看〜laravel

时间:2019-02-21 06:52:15

标签: javascript jquery json ajax laravel

我正在尝试将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');

2 个答案:

答案 0 :(得分:1)

您可以返回 $response->json() view(),但不能同时返回。

您的JavaScript期望看到HTML内容,但是您正在向其提供JSON数据。要将数据传递给视图,请使用类似以下的内容:

public function viewMasakanAjax(Request $request)
{
    if ($request->ajax()) {
        $alberMasakan = Masakan::where('alber_nama_masakan','LIKE','%'.$request->search."%")->get();

        // Pass $alberMasakan as data along to the view
        // Same as view('kasir/ajax-menu')->with($alberMasakan)
        return view('kasir/ajax-menu', $alberMasakan);
    }
}

答案 1 :(得分:0)

您应该尝试

public function viewMasakanAjax(Request $request)
{
    if($request->ajax())
    {

        $alberMasakan = Masakan::where('alber_nama_masakan','LIKE','%'.$request->search."%")->get();

        return response()->json($alberMasakan);
    }
}