【发布时间】:2019-03-27 16:48:22
【问题描述】:
尝试在路由中使用 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 进行更新,而不是使用 Summernote 时的 PUT。当我使用PUT 时,大的description 会被截断。在summernote 中,它指出如果我不使用POST 方法可能会发生这种情况。
在update_article 路由之前还有一条默认路由,用于文章资源:
Route::resource('articles', 'ArticleController');
注意:csrf token 在 post 操作中作为 _token 参数发送。还没有找到任何解决方案。我有什么遗漏吗?
【问题讨论】:
标签: post laravel-5 routes http-status-code-302