分页不适用于POST动作laravel 5

天使萨拉萨尔

在Laravel 5中使用分页时,我遇到问题。在这种情况下,我想对从搜索中获得的结果进行分页,我的代码可以工作并显示与搜索匹配的内容,但是当我想查看其他结果时(页面= 2)它什么也不显示,并且出现路由异常。

MethodNotAllowedHttpException in RouteCollection.php line 207:

分页仅适用于GET操作吗?

我会提供一些帮助。

到目前为止,这是我的代码

SearchController.php

/* Bring the form */
public function index()
    {
        $levels = Level::all();
        return view('search.seek')->with('levels',$levels);
    }

    /**
     * Display results that matches my search
     * @param Request $request
     * @return Response
     */
    public function results(Request $request)
    {
        $suggestions = Suggestion::where('subject','=',$request->subject,'and')
                                    ->where('level','=',$request->level,'and')
                                    ->where('grade','=',$request->grade,'and')
                                    ->where('topic','=',$request->topic,'and')
                                    ->where('device','=',$request->device)->latest()->paginate(5);

        $suggestions->setPath('results');
        return view('search.list')->with('suggestions', $suggestions);
    }

Route.php

    Route::post('results',[
        'as' => 'results_path',
        'uses' => 'SearchController@results' ]);

list.blade.php

@if($suggestions != null)
        <h1 class="page-heading">Resultados</h1>
        @foreach($suggestions->chunk(5) as $Suggestions)
        <div class="row">
            <div class="col-lg-12">
                    @foreach($Suggestions as $suggestion)
                        <div id="postlist">
                            <div class="panel">
                                <div class="panel-heading">
                                    <div class="text-center">
                                        <div class="row">
                                            <div class="col-sm-9">
                                                <h3 class="pull-left">{!! \App\Topic::find($suggestion->topic)->name !!}</h3>
                                            </div>
                                            <div class="col-sm-3">
                                                <h4 class="pull-right">
                                                    <small><em>{!! $suggestion->created_at->format('Y-m-d') !!}</em></small>
                                                </h4>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="panel-body">{!! $suggestion->how_to_use !!}</div>
                                <div class="panel-footer"><span class="label label-default">Por: {!! \App\User::find($suggestion->user_id)->name !!}</span><span class="label label-success pull-right">{!! link_to('results/' .$suggestion->id ,'Ver',null) !!}</span></div>
                            </div>
                        </div>
                    @endforeach
            </div>
        </div>
        @endforeach
        {!! $suggestions->render() !!}
    @endif
Sh1d0w

是,分页仅适用于get参数。

您应该GET在搜索页面中使用方法。POST请求并非旨在显示数据。为什么?原因有很多,但总之,我将举两个例子:

  1. 使用GET参数,假设您位于第六页-您可以复制链接并将其粘贴到朋友,他将可以查看与您相同的内容。有了POST这是不可能的。

  2. POST如果您设法使分页正常工作,则不能将后退按钮用于请求。

POST 例如,当您需要将数据提交到服务器以创建新记录时,请求很有用。

因此,建议您将路线类型更改为GET,将搜索表单方法更改为GET

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHPUnit不适用于Laravel 5

来自分类Dev

laravel 5 Schedule适用于-> cron('* * / 1 * * *'),但不适用于-> hourly()

来自分类Dev

IIS7上的Laravel 5不适用于web.config

来自分类Dev

Laravel分页不适用于:: where(...)

来自分类Dev

laravel分页不适用于搜索

来自分类Dev

适用于Laravel 5的PHPExcel

来自分类Dev

自动装箱为什么不适用于Short(5)?

来自分类Dev

输入类型范围不适用于iscroll 5

来自分类Dev

Unity Remote 5不适用于Unity 2019.3

来自分类Dev

defaultProtocol不适用于ckeditor5-vue的链接

来自分类Dev

JS元素属性设置不适用于HTML 5

来自分类Dev

自动装箱为什么不适用于Short(5)?

来自分类Dev

绑定不适用于sapui5的表

来自分类Dev

Extjs 5 getPlugin不适用于网格

来自分类Dev

Ninject.Mvc5不适用于单声道

来自分类Dev

HTML 5模式不适用于按钮的onclick事件

来自分类Dev

Javascript函数不适用于html5 + Flask

来自分类Dev

pg_connect不适用于PHP 5

来自分类Dev

Rails 5:更新操作不适用于AJAXified表单

来自分类Dev

动态HTML 5菜单不适用于回发

来自分类Dev

路由不适用于 HTML5-History-API

来自分类Dev

MVC5 包不适用于某些资源

来自分类Dev

ngf-select 不适用于 iphone5

来自分类Dev

PrimeNg 数据表不适用于 Angular 5

来自分类Dev

Bootstrap 4 导航栏不适用于 angular 5

来自分类Dev

angular 5 behaviorsubject 不适用于 http

来自分类Dev

OL5 的 ScaleLine 不适用于 EPSG:25832

来自分类Dev

Rails 5:发布路由不适用于根 url

来自分类Dev

wp 条件适用于 php 7 但不适用于 php 5