1

我正在制作在 Laravel 5.4 背包管理员中添加新闻的简单形式,只是为了概述 Laravel 5.4,但在从位于新闻/添加视图的新闻表单中发布数据时卡住了。虽然我在 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");
}

<code>405 方法不允许在 Laravel 5.4 背包管理中从表单发布数据时出现错误</code>

4

3 回答 3

1

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

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

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

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

希望能帮助到你!

于 2017-04-17T07:56:47.783 回答
0

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

像这样改变你的路线:

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

我建议您使用命名路线。这将很容易使用。

{!! Form::open(['route' => 'news.add']) !!}
于 2017-04-17T07:19:01.837 回答
0

使用这种格式:

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

您的路线将是:

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

希望能帮助到你..

于 2017-04-17T07:24:07.060 回答