laravel 5.5.44 post 路由器抛出 302 发现错误
laravel 5.5.44 post router throws 302 Found Error
尝试在路由中使用 post
方法进行更新时遇到 302 发现错误。
路线
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
编辑表单Blade
{!! 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');
注意:csrf token
在 post 操作中作为 _token
参数发送。找不到任何解决方案。有什么我想念的吗?
如果您已经创建了您提到的资源。
Route::resource('articles', 'ArticleController');
然后从您的路线中删除以下代码 web.php
和 运行 代码。
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
最后,我将数据库结构从 varchar
更改为类型 text
,并且在更新操作中使用 PUT
方法而不是 POST
不会截断长描述。因此,在表单提交中使用方法 PUT
返回默认路由 -
路线:
Route::resource('articles', 'ArticleController');
现在一切正常。
尝试在路由中使用 post
方法进行更新时遇到 302 发现错误。
路线
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
编辑表单Blade
{!! 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');
注意:csrf token
在 post 操作中作为 _token
参数发送。找不到任何解决方案。有什么我想念的吗?
如果您已经创建了您提到的资源。
Route::resource('articles', 'ArticleController');
然后从您的路线中删除以下代码 web.php
和 运行 代码。
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
最后,我将数据库结构从 varchar
更改为类型 text
,并且在更新操作中使用 PUT
方法而不是 POST
不会截断长描述。因此,在表单提交中使用方法 PUT
返回默认路由 -
路线:
Route::resource('articles', 'ArticleController');
现在一切正常。