Post laravel 5.5.44路由器后抛出302发现错误

Post laravel 5.5.44路由器后抛出302发现错误,post,laravel-5,routes,http-status-code-302,Post,Laravel 5,Routes,Http Status Code 302,Facing 302尝试在路由中使用post方法更新时发现错误 路线 编辑模板刀片 控制器 使用POST更新而不是PUT,因为我使用的是summernote。当我使用PUT时,大型描述会被截断。在summernote中,它声明如果我不使用POST方法,可能会发生这种情况 在更新文章资源的文章路径之前还有一个默认路径,如下所示: Route::resource('articles', 'ArticleController'); 注意:csrf令牌在post操作中作为_令牌参数发送。尚未找到任何解

Facing 302尝试在路由中使用post方法更新时发现错误

路线

编辑模板刀片

控制器

使用POST更新而不是PUT,因为我使用的是summernote。当我使用PUT时,大型描述会被截断。在summernote中,它声明如果我不使用POST方法,可能会发生这种情况

在更新文章资源的文章路径之前还有一个默认路径,如下所示:

Route::resource('articles', 'ArticleController');

注意:csrf令牌在post操作中作为_令牌参数发送。尚未找到任何解决方案。有什么我遗漏的吗?

如果您已经创建了您提到的资源

Route::resource('articles', 'ArticleController');
然后从route web.php中删除以下代码并运行代码

Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');

最后,我将DB结构更改为从varchar键入文本,并且在更新操作中,不会使用PUT方法而不是POST来截断长描述。因此,使用表单提交中的方法返回默认路由-

路线:


现在一切正常。

在这种情况下,更新操作不允许post方法,它表示HttpMethodException,在这种情况下只允许put或patch。正如我提到的,我不能使用PUT,因为它截断了summernote的description字段,我需要使用POST。默认的资源路由要求将方法放在这里。有什么建议吗?您是否使用ajax提交表单?如果是,请检查控制台中的表单数据。我认为描述字段是空的。laravel没有截断。不,我使用的是标准表单提交,描述字段不是空的,它有文本值。通过更改数据库结构解决了此问题,并遵循了您的建议,谢谢
Route::resource('articles', 'ArticleController');
Route::resource('articles', 'ArticleController');
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
Route::resource('articles', 'ArticleController');