首页 > 解决方案 > 如何响应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');

标签: javascriptjqueryjsonajaxlaravel

解决方案


您可以返回其中一个 $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);
    }
}

推荐阅读