帖子请求不在Laravel工作



我是Laravel的新手,正在尝试执行简单的post请求,但它无法正常工作。据说object not found将其重定向到/o2。有人可以阐明它吗?我也在使用CSRF Token,但事情不起作用。使用laravel的v5.2。

 Route::get('/o1', function(){
   echo '<form method="post" action="/o2"><input name="_token" value="' . csrf_token() . '" type="hidden"><button type="submit" value="Submit">Submit</button></form>';
});
Route::post('/o2', function(){
   echo "It works";
});

您正在尝试访问浏览器中的邮路线以打印表单。这是行不通的。您需要创建一个GET路由以打印表单,然后将操作设置为邮政路线。尝试这样的事情:

Route::get('/o1', function(){
   echo '<form method="post" action="/o2"><input name="_token" value="' . csrf_token() . '" type="hidden"><button type="submit" value="Submit">Submit</button></form>';
});
Route::post('/o2', function(Request $request) {
   echo $request->all();
});

当您获得MethodLallowEdhtpexception时,您如何调用此路线?

应通过您创建的实际表格调用此帖子请求。通常不应返回实际表单,而应持续数据,然后将用户重定向到页面以显示结果。

所以总的来说,您会得到一个帖子和帖子:

Route::get('/o1', function(){
   echo '<form method="post" action="/o2"><input name="_token" value="' . csrf_token() . '" type="hidden"><button type="submit" value="Submit">Submit</button></form>';
});
Route::post('/o1', function(){
   // persist your form here
});

我强烈建议对此使用控制器。https://laravel.com/docs/5.6/controllers

最新更新