为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel5.8:此路由不支持 GET 方法。支持的方法:POST。问题

Laravel5.8:此路由不支持 GET 方法。支持的方法:POST。问题

PHP
慕码人8056858 2022-01-14 16:46:49
我正在设置用户个人资料更新部分。但是当我进入个人资料创建页面时,出现以下错误。GET此路由不支持该方法。支持的方法: POST.我尝试php artisan route:clear并检查了所有内容。但我无法解决这个问题,所以如果有人帮助我,我很高兴。web.phpRoute::get('user/profile','UserController@index')->name('profile.index');Route::POST('user/profile/create', 'UserController@store')->name('profile.create');create.blade.php<form action="{{route('profile.create')}}" method="POST">@csrf                    <ul class="information">                        <li>Name :<br>                            <input type="text" class="name" name="name">                        </li><br>                        <li>Gender :<br>                            <div class="gender">                                <select name="gender" id="" name="gender">                                    <option class="option" value="" selected="selected">Select Gender</option>                                    <option value="" >Male</option>                                     <option value="United States" class="selected">Female</option>                                     <option value="United Kingdom">Any</option>                                 </select>                                   </div>                        </li>                           <li>Country :<br>                            <div class="country">                                <select name="country" id="" name="country">                                    <option value="" selected="selected">Select Country</option>                                     <option value="United States" class="selected">United States</option>                                     <option value="United Kingdom">United Kingdom</option>                                 </select>                            </div>                            </li><br>
查看完整描述

3 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

看你只使用两条路线。一个用于索引,一个用于存储。去创建页面的路线在哪里?添加该路由和控制器方法。


Route::get('user/profile','UserController@index')->name('profile.index');

Route::get('user/profile/create', 'UserController@create')->name('profile.create');

Route::post('user/profile/store', 'UserController@store')->name('profile.store');

控制器


class UserController extends Controller

{

    public function index() {

        return view('profile.index');

    }


    public function create() {

        return view('profile.create');

    }


    public function store(Request $request) {

        $user_id = auth()->user()->id;



        Profile::where('user_id',$user_id)->update([

            'name'=>request('name'),

            'gender'=>request('gender'),

            'country'=>request('country'),

            'bod'=>request('bod'),

            'description'=>request('description')

        ]);


        return redirect()->route('profile.index');


    }

}

形式


<form action="{{route('profile.store')}}" method="POST">

还有你的创建个人资料按钮


<a href="{{ route('profile.crate') }}"><button>Create Profile</button></a>


查看完整回答
反对 回复 2022-01-14
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

验证和保存不要结合,单独检查并使用fill()进行保存


用户控制器.php


$validatedData = $request->validate([

    'name' => 'required',

    'gender' => 'required',

    'country' => 'required',

    'bod'=>'required',

    'description'=>'required',

]);


Profile::where('user_id',$user_id)->fill([

        'name'=>'name',

        'gender'=>'gender',

        'country'=>'country',

        'bod'=>'bod',

        'description'=>'description',

    ])->save();


查看完整回答
反对 回复 2022-01-14
?
烙印99

TA贡献1829条经验 获得超13个赞

我试过

php工匠路线:清除

并解决了这个问题。


查看完整回答
反对 回复 2022-01-14
  • 3 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信