Php 有错误问题:此路由不支持GET方法。支持的方法:POST
存在错误问题: 此路由不支持GET方法。支持的方法:POST 我把在路线张贴方法和形式,但idk为什么它仍然显示错误Php 有错误问题:此路由不支持GET方法。支持的方法:POST,php,laravel,Php,Laravel,存在错误问题: 此路由不支持GET方法。支持的方法:POST 我把在路线张贴方法和形式,但idk为什么它仍然显示错误 //route Route::post('posts/{post}/comment', 'CommentController@store'); //controller class CommentController extends Controller { public function store(Request $request, $post_id) {
//route
Route::post('posts/{post}/comment', 'CommentController@store');
//controller
class CommentController extends Controller
{
public function store(Request $request, $post_id)
{
$this->validate($request,[
'content' => 'required',
]);
//$post = Post::find($post_id);
$comment = new Comment;
$comment->content = $request->input('content');
$comment->user_id = auth()->user()->id;
//$comment->post()->associate($post);
$comment->save();
return redirect('/posts')->with('success','Post Created');
}
}
//form
{{ Form::open(['method' => 'POST','action' => ['CommentController@store', $post->id]]) }}
<div class="row">
<div class="col-md-12">
{{ Form::label('comment', "Comment:") }}
{{ Form::textarea('content', null, ['class' => 'form-control']) }}
{{ Form::submit('Add Comment', ['class' => 'btn btn-success']) }}
</div>
</div>
{{ Form::close() }}
当我在Posts/show视图中按下添加新评论的按钮时,我想将我发送到需要发送的地方,但它只会给我一个错误。您是否尝试过
公共功能存储中的$post
(请求$Request,$post\u id)
?您是否尝试过公共功能存储中的$post
(请求$Request,$post\id)
??请按以下方式更改。请确保无论何时在路由中使用资源
,它都应该位于其他相关路由的下方。当调用路由时,它将调用posts/{$id}/edit
它是get
方法。欲了解更多信息,请查看下面的博客。
到
请更改如下。请确保无论何时在路由中使用
资源
,它都应该位于其他相关路由的下方。当调用路由时,它将调用posts/{$id}/edit
它是get
方法。欲了解更多信息,请查看下面的博客。
到
首先将@csrf添加到表单中,看看接下来会发生什么。我认为您的验证失败(通常重定向到同一页面,但使用GET请求)。能否尝试删除要测试的验证?如果您没有填写
,验证将失败,请求将重定向到GET
版本的posts/{post}/comment
。我个人不在我的控制器中使用$this->validate()
,所以我不确定是否要处理这个问题,但事实就是如此。我添加了@csrf,现在删除了验证,但仍然存在相同的问题。@timlews说什么。我通常宁愿使用验证器外观。是关于如何使用它的资源。首先将@csrf添加到您的表单中,然后看看接下来会发生什么。我认为您的验证失败(通常重定向到同一页面,但使用GET请求)。能否尝试删除要测试的验证?如果您没有填写
,验证将失败,请求将重定向到GET
版本的posts/{post}/comment
。我个人不在我的控制器中使用$this->validate()
,所以我不确定是否要处理这个问题,但事实就是如此。我添加了@csrf,现在删除了验证,但仍然存在相同的问题。@timlews说什么。我通常宁愿使用验证器外观。是关于如何使用它的资源。
Route::get('/', 'PagesController@index');
Route::get('/about', 'PagesController@about');
Route::get('/services', 'PagesController@services');
Route::resource('posts','PostsController');
Route::post('/posts/{post}/comment', 'CommentController@store');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('posts','PostsController');
Route::post('/posts/{post}/comment', 'CommentController@store');
Route::post('/posts/{post}/comment', 'CommentController@store');
Route::resource('posts','PostsController');