为啥 Laravel 发布方法在路由器页面上不起作用?

Posted

技术标签:

【中文标题】为啥 Laravel 发布方法在路由器页面上不起作用?【英文标题】:Why Laravel post method doesn't work on router page?为什么 Laravel 发布方法在路由器页面上不起作用? 【发布时间】:2021-07-29 17:03:51 【问题描述】:

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

错误:

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>

【问题讨论】:

试试这个php artisan route:cachephp artisan view:clear 谢谢,在这里问之前我做了一些清洁工作。 【参考方案1】:

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

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

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

编辑:

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

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

然后您可以像这样简单地访问视图中的 url/路由:&lt;form action="route('general')" method="POST"&gt;

【讨论】:

以上是关于为啥 Laravel 发布方法在路由器页面上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥外部链接在构建后在 phonegap 应用程序上不起作用

子域路由在 Laravel 5 上不起作用 - WAMPServer

为啥 pull-right 类在 bootstrap 版本 4.1.0 上不起作用? [复制]

我的一些 Laravel 路由(PUT 和 DELETE)在共享主机上不起作用

为啥我的下拉菜单在某些页面上不起作用

为啥这个 jQuery 在我的 Sharepoint 页面上不起作用?