首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路线不适用于拉里

路线不适用于拉里
EN

Stack Overflow用户
提问于 2018-04-04 05:18:26
回答 3查看 74关注 0票数 1

我在索引页面中有一个搜索选项,当我搜索一个名字时,它过滤了一些细节,当我点击datatable中的显示图标时,它应该重定向到show.index页面,但是它抛出了一个类似于this.but的错误,它在索引页面上工作,而不是在索引页面中搜索。

索引页

代码语言:javascript
复制
@include('theme.header')
<script>

    $(document).ready(function () {
        $('#search').on('click', function () {
            $value = $(this).val();
            $.ajax({
                type: 'GET',
                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>
                <label class="pull-right">search</label>

                <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> <!-- end col -->
</div> <!-- end row -->


@include('theme.footer')

具有搜索功能的控制器

代码语言:javascript
复制
 public function search(Request $request)
    {

        if ($request->ajax()) {

            $output = "";
            $indents = DB::table('indents')
                ->where('id', 'LIKE', '%' . $request->search . '%')
                ->orwhere('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);
        }

    }

路由文件

代码语言:javascript
复制
Route::get('edp', 'EdpController@index')->name('edp');
Route::get('edp/cancel/{id}', 'EdpController@cancel')->name('edp.cancel');
Route::get('search', 'EdpController@search')->name('search');

具体问题是控制器在搜索功能路由方面的问题。

代码语言:javascript
复制
 '<td>'.'.<a href="{{route(\'edp.show\',$indent->id)}}">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-04 05:38:17

如果您检查您的url是不正确的锚标签。我认为你需要改变

代码语言:javascript
复制
'<td>'.'.<a href="{{route(\'edp.show\',$indent->id)}}">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.

代码语言:javascript
复制
'<td>'.'.<a href="'.route('edp.show',$indent->id).'">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.

另外,我认为没有名字的路由edp.show,它也应该是路由(‘edp’,$indent>id)。

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 05:28:57

试试这个:

代码语言:javascript
复制
'<td>'.'.<a href="'.route('edp.show',$indent->id).'">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.

这是因为您在为表生成html时在控制器中使用{{ },并且当您使用脚本将html设置为表时,php代码从未通过ajax在脚本的客户端处理,因为页面已经加载。

票数 1
EN

Stack Overflow用户

发布于 2018-04-04 05:39:04

用url替换href中的路由。

代码语言:javascript
复制
'<td>'.'.<a href="{{url(\'edp.show\'.$indent->id)}}">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'.

试试这个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49643312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档