微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 Laravel post 方法在路由器页面上不起作用?

如何解决为什么 Laravel post 方法在路由器页面上不起作用?

我是 Laravel 的初学者,我尝试处理这种情况。当我使用 post 方法时,我的路由器不工作。我清除了我的缓存,查看但仍然不起作用。我观看了很多 YouTube 用户,但仍然存在同样的问题。感谢您的帮助。

错误

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
The GET method is not supported for this route. Supported methods: POST.

web.PHP

    Route::get('/mainpage',function () {
        return view('general');
    });

    Route::post('/general','App\Http\Controllers\GeneralController@store');

GeneralController.PHP

    public function store(Request $request){
        echo"works";
        dd($request);   
    }

general.blade.PHP

    <form action="{{url('/general')}}" method="POST" >
        @csrf              
        <label for="email" class="u-label u-text-body-alt-color u-label-1">Email</label>
        <input type="email" placeholder="" id="email" name="email" class="u-input u-input-rectangle u-white" required="">
        
        <label for="name" class="u-label u-text-body-alt-color u-label-2">name</label>
        <input type="text" placeholder="" id="password" name="password" class="u-input u-input-rectangle u-white" required="">
                                    
        <a href="{{url('/general')}}" >Submit</a>
        <input type="submit" value="submit" class="u-form-control-hidden">
    </form>

解决方法

这不是laravel的问题,是html的问题。在您的代码中,如果有人单击锚标记,由于 href 链接,窗口将打开一个名为 /general 的 url。但这不会提交您的表单,它只会打开另一个页面。

 <input type="submit" value="submit">

只要让表单正常提交就可以了。

编辑:

一般的东西,如果你给你的路线命名会更好,例如:

Route::post('/general','App\Http\Controllers\GeneralController@store')->name('general');


然后你可以像这样简单地访问你视图中的url/route:
<form action="{{route('general')}}" method="POST">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。