post - laravel 5.5.44 后路由器抛出 302 Found Error
问题描述
post
尝试使用路由中的方法进行更新时遇到 302 Found 错误。
路线
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
编辑表单刀片
{!! Form::model($article, ['route'=>['articles.update', $article->id], 'method' => 'post', 'class' => 'form-horizontal form-stripe']) !!}
控制器
public function update_article(Request $request, $id)
{
$data = Article::find($id);
$url = $this->url->to('/');
$data->image = $request->input('image');
$data->title = $request->input('title');
$data->description = $request->input('description');
$data->user_id = Auth::id();
$data->status = $request->input('status');
if ($request->hasFile('image'))
{
$f_imageName = time().'.'.request()->image->getClientOriginalExtension();
request()->image->move(public_path('uploads/articles'), $f_imageName);
$data->image =$url.'/public/uploads/articles/'.$f_imageName;
}
else
{
$data->image = $request->input('image_hidden');
}
$data->save();
Session::flash('success', 'articles has been updated');
return redirect()->route('articles.index');
}
POST
用于更新而不是PUT
像我使用summernote 。当我使用PUT
时,大description
被截断。在summernote中,它指出如果我不使用POST
方法可能会发生。
update_article
在文章资源的路由之前还有一个默认路由:
Route::resource('articles', 'ArticleController');
注意:在 post 操作中csrf token
作为参数发送。_token
还没有找到任何解决方案。有什么我想念的吗?
解决方案
如果您已经创建了您提到的资源。
Route::resource('articles', 'ArticleController');
然后从您的路线中删除以下代码web.php
并运行代码。
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
推荐阅读
- scala - 如何优化火花重新分配或合并?
- sql - 如何仅使用一个查询(无子查询)来获取符合要求的行?
- json - 如何使用 Angular 对 json 文件进行获取和修补请求?
- java - 升级到 Kotlin 1.4 得到关于 module-info.class 的错误编译器
- ios - 从中心对齐水平 UIStackView 中的项目
- redis - 使用 Redis Sentinel 故障转移时的 Redis 身份验证
- php - 无法使用 PHP 通过另一个表订购表
- php - 为什么自定义 Woocommerce 端点需要多次永久链接重置?
- visual-studio - Visual Studions Build Events 中 Use in Build 选项的含义
- python - 如何使用 Python 本身而不是通过鼠标单击来控制复选框?