通过 PATCH 方法修改用户信息报错?

按照教程里面来,编辑用户资料的 保存 按钮,点击后 通过PATCH方法提交后,提示

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message

不知道错在哪儿了,都是照着教程来,没有问题啊,求教。O(∩_∩)O谢谢

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

亲,查看下路由,是不是使用了这一条语句

Route::patch('/users/{user}', 'UsersController@update')->name('users.update');

查看下user/edit.blade.php中的form,教程中使用的是PUT

<input type="hidden" name="_method" value="PUT">

教程为什么没有问题呢?
因为教程的路由是如下:

Route::resource('users', 'UsersController', ['only' => ['show', 'update', 'edit']]);

我们查看下生成的路由是啥样的? php artisan route:list

| PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UsersController@update

明白了吗?

解决办法:将路由中的方法与表单的action方法一致即可。

<input type="hidden" name="_method" value="PATCH">

6年前 评论
讨论数量: 1

亲,查看下路由,是不是使用了这一条语句

Route::patch('/users/{user}', 'UsersController@update')->name('users.update');

查看下user/edit.blade.php中的form,教程中使用的是PUT

<input type="hidden" name="_method" value="PUT">

教程为什么没有问题呢?
因为教程的路由是如下:

Route::resource('users', 'UsersController', ['only' => ['show', 'update', 'edit']]);

我们查看下生成的路由是啥样的? php artisan route:list

| PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UsersController@update

明白了吗?

解决办法:将路由中的方法与表单的action方法一致即可。

<input type="hidden" name="_method" value="PATCH">

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!