【问题标题】:searching with ajax and laravel使用 ajax 和 laravel 搜索
【发布时间】:2018-04-03 20:35:07
【问题描述】:

我有一个叫做缩进的表。我需要通过输入客户名称来搜索并获取详细信息。 当我按下一个按钮时,它应该在数据表中返回该客户详细信息,我使用的是 ajax 和 laravel。当它工作时,它只会在我尝试搜索名称时返回最后一个数据

索引文件

       <script>

        $(document).ready(function () {
            $('#search_data').on('click', function () {
                $value = $(this).val();
                $.ajax({
                    type: 'post',
                    url: '{{\Illuminate\Support\Facades\URL::to('search')}}',
                    data: {'search': $value},
                    success: function (data) {
                        $('#edpinfo').html(data);

                    }
                })

            })
        })
    </script>
    <script>
        $.ajaxSetup({headers: {'csrftoken': '{{ csrf_token() }}'}});
    </script>
    <br>
    <div class="row">
        <div class="col-12">
            <div class="card m-b-30">
                <div class="card-body">

                    <h4 class="mt-0 header-title">Indents</h4>

                    <input type="text" id="search" class="pull-right form-rounded">
                    <a href="{{route('edp')}}">
                        <button class="btn btn-sm btn-primary pull-left">Back</button>
                    </a>
                    <button id="search_data" class="btn btn-danger btn-sm pull-right">search</button>

                    <br>
                    <br><br>
                    <table id="datatable" class="table table-bordered  table-responsive-lg">
                        <thead>
                        <tr>
                            <th>Slno</th>
                            <th>Customer Name</th>
                            <th>Customer Phone Number</th>
                            <th>DateOfDelivery</th>
                            <th>Delivery At</th>
                            <th>Show</th>

                        </tr>
                        </thead>
  <tbody id="edpinfo">
                    @foreach($indents as $indent)
                        <tr>
                            <td>{{$loop->iteration}}</td>
                            <td>{{$indent->customer_name}}</td>
                            <td>{{$indent->phone_no}}</td>
                            <td>{{$indent->date_of_delivery}}</td>
                            <td>{{$indent->delivery_at}}</td>
                            <td><a href="{{route('edp.show',$indent->id)}}"><img src="assets/images/select.jpg"
                                                                                 class="imgsize"></a></td>

                        </tr>
                    @endforeach
                    </tbody>
                </table>
        </div>
    </div>
    </div>

控制器文件

    public function search(Request $request)
    {

        if ($request->ajax()) {

            $output = "";
            $indents = indents::table('indents')
                ->where('customer_name', 'LIKE', '%' . $request->search . '%')->get();
            foreach ($indents as $key => $indent) {

                        $output = '<tr>' .
                        '<td>' . $indent->id . '</td>' .
                        '<td>' . $indent->customer_name . '</td>' .
                        '<td>' . $indent->phone_no . '</td>' .
                        '<td>' . $indent->date_of_delivery . '</td>' .
                        '<td>' . $indent->delivery_at . '</td>' .
//                        '<td>'.'.<a href="{{route(\'edp.show\',$indent->id)}}">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.
                        '</tr>';

            }
            return Response($output);
        }

    }

【问题讨论】:

    标签: jquery ajax laravel laravel-5.5 laravel-5.6


    【解决方案1】:

    你的问题是你总是覆盖 $output 变量

    所以不是$output = '&lt;tr&gt;'

    输入$output .= '&lt;tr&gt;'(注意点)

    【讨论】:

    • 我只是按照你说的做了,然后运行程序并使用 chrome web 工具检查它显示 POST 127.0.0.1:8000/search405 (Method Not Allowed)
    • 您正在发布到未为 POST 请求定义的路由,检查您的路由,并将 search 路由更新为 POST,或更新您的 ajax 脚本以使用 GET
    • 哦,天啊,我已经更改了要发布的 ajax,但我没有更改路由文件..我的错,谢谢
    • 如果现在输出不错,您介意接受我的回答吗?
    猜你喜欢
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2018-12-17
    • 2023-03-24
    • 1970-01-01
    • 2019-06-30
    相关资源
    最近更新 更多