从 Laravel 5.4 背包管理员中的表单发布数据时出现 405 方法不允许错误

405 method not allowed error coming while posting data from form in Laravel 5.4 backpack Admin

我正在 Laravel 5.4 背包管理员中制作简单的添加新闻的形式,只是为了了解 Laravel 5.4 的概况,但在从位于 news/add 视图的新闻表单发布数据时卡住了。虽然我在 add 方法中向 News Controller 发送操作,但它显示 405 method not allowed 错误。请检查下面的代码,让我知道其中的问题是什么。可能是我犯了一些愚蠢的错误,如果是这样的话抱歉。

查看:add.blade.php

{!! Form::open(['action' => 'NewsController@add']) !!}
<div class="form-group">
<label for="title">Title:</label>
<input name="title" id="title" type="text" class="form-control" required>
</div>
<div class="form-group">
<label for="description">Description:</label>
<textarea name="description" id="description" class="form-control">
</textarea>
</div>
<button class="btn btn-default" type="submit" name="submitBtn" 
value="Submit">Submit</button>
{!! Form::close() !!}

控制器:NewsController.php

public function add(){
echo "<pre>"; print_r($this->data->request); die;
return view("news.add");
}

路由文件中的方法似乎不是POST

像这样改变你的路线:

Route::post('/addnews',['as' => 'news.add', 'uses'=>'NewsController@add']);

我建议您使用命名路由。它将易于使用。

{!! Form::open(['route' => 'news.add']) !!}

使用这种格式:

{!! Form::open(array('url' => 'add')) !!}
    // your form fields
{!! Form::close() !!}

您的路线将是:

Route::post('/add','NewsController@add');

希望对您有所帮助..

首先在控制器的顶部添加:-

use Illuminate\Http\Request;
use App\Http\Requests;

之后你的函数应该有这个参数 Request $request:-

public function add(Request $request){
   $data = $request->all();
   return view("news.add");
}

希望对您有所帮助!