Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 带有post方法的路由异常_Laravel - Fatal编程技术网

Laravel 带有post方法的路由异常

Laravel 带有post方法的路由异常,laravel,Laravel,我有一个MethodNotAllowedHttpException,带有一个post方法的按钮,这真的很奇怪,因为我在项目中的很多其他东西上都做了相同的过程,但是这个路线不想工作。我哪里出错了 提前多谢朋友:) 这是我的路线: Route::post('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller'); 这里是我的刀片视图中的按钮: {!! link_to_

我有一个MethodNotAllowedHttpException,带有一个post方法的按钮,这真的很奇怪,因为我在项目中的很多其他东西上都做了相同的过程,但是这个路线不想工作。我哪里出错了

提前多谢朋友:)

这是我的路线:

Route::post('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller');
这里是我的刀片视图中的按钮:

{!! link_to_route('licencie.renouveller', 'Effectuer le Renouvellement' , [$licencie->id], ['class' => 'btn btn-primary']) !!}
以下是我的控制器的开始:

 public function Renouveller(Request $request, $id)
    {
        $licencie = Licencies::findOrFail($id);

        dd($licencie);

..

您正在创建的链接是您提供的路由的锚点,但该链接是GET请求,而您在路由文件中指定希望在该url上发布请求

创建表单或更改route接受的方法(或让它也接受GET请求)

编辑: 把你的路线改成

Route::get('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller');

以最快的速度获得预期的结果

您正在创建的链接是您提供的路由的锚点,但该链接是GET请求,而您在路由文件中指定希望在该url上发布请求

创建表单或更改route接受的方法(或让它也接受GET请求)

编辑: 把你的路线改成

Route::get('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller');
以最快的速度获得预期的结果

使用:

Route::get('licensions\u to\u update/{id}','LicencieController@Renouveller')
->名称('licensie.renouveller')

而不是
POST
方法。因为在按钮的链接中,您不是使用
POST
方法请求url,而是使用
GET
方法。此外,您没有做任何与
POST
变量相关的事情。您正在路由参数中传递一个简单变量
id
。因此,无需在此处使用
POST
param。

使用:

Route::get('licensions\u to\u update/{id}','LicencieController@Renouveller')
->名称('licensie.renouveller')


而不是
POST
方法。因为在按钮的链接中,您不是使用
POST
方法请求url,而是使用
GET
方法。此外,您没有做任何与
POST
变量相关的事情。您正在路由参数中传递一个简单变量
id
。因此,这里不需要使用
POST
param。

事实上,使用GET方法它就可以工作了!非常感谢欢迎您,如果它解决了您的问题,请不要忘记批准答案。事实上,使用GET方法,它正在工作!非常感谢欢迎您,如果is解决了您的问题,请不要忘记批准答案。它现在正在使用GET方法!再次非常感谢杜威·德哈恩!!!!!!!再说一次,没问题!;)它现在正在使用GET方法!再次非常感谢杜威·德哈恩!!!!!!!再说一次,没问题!;)