首页 > 解决方案 > 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还没有找到任何解决方案。有什么我想念的吗?

标签: postlaravel-5routeshttp-status-code-302

解决方案


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

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

然后从您的路线中删除以下代码web.php并运行代码。

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

推荐阅读