Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Post请求在Laravel中不起作用_Laravel - Fatal编程技术网

Post请求在Laravel中不起作用

Post请求在Laravel中不起作用,laravel,Laravel,我是拉威尔的新手,正在尝试做一个简单的post请求,但它不起作用。重定向到/o2后,显示未找到对象。有人能解释一下吗?我也在使用CSRF令牌,但事情不起作用。使用Laravel的v5.2 Route::get('/o1', function(){ echo '<form method="post" action="/o2"><input name="_token" value="' . csrf_token() . '" type="hidden"><but

我是拉威尔的新手,正在尝试做一个简单的
post
请求,但它不起作用。重定向到
/o2
后,显示未找到
对象。有人能解释一下吗?我也在使用
CSRF令牌
,但事情不起作用。使用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";
});
路由::获取('/o1',函数(){ 回应“提交”; }); 路由::post('/o2',函数(){ 呼应“它有效”; });
当您获得MethodNotAllowedHttpException时,如何调用此路由

此post请求应由您正在创建的实际表单调用。 并且通常不应该返回实际的表单,而是保存数据,然后将用户重定向到页面以显示结果

所以一般来说,你会有一个get和一个post:

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
});
路由::获取('/o1',函数(){ 回应“提交”; }); 路由::post('/o1',函数(){ //把你的表格留在这里 }); 我强烈建议为此使用控制器。

您正试图访问浏览器中的投递路线以打印表单。这是行不通的。您需要创建一个get路由来打印表单,然后将操作设置为post路由。试着这样做:

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();
});
路由::获取('/o1',函数(){ 回应“提交”; }); 路由::post('/o2',函数(请求$Request){ echo$request->all(); });
在我意识到问题之后,我已经修改了这个问题,请看一看。它仍然不工作。你在使用apache吗?我在使用Xampp。这可能是虚拟主机/htaccess的问题。看看这里:这里:我对上面的问题做了修改,它仍然不起作用,请检查上面。