Laravel 控制器重定向回POST表单

Laravel 控制器重定向回POST表单,laravel,laravel-4,Laravel,Laravel 4,我有一个表格,上面有一个名字列表,旁边有一个“编辑”按钮和隐藏的id值。 单击“编辑”按钮将隐藏id作为表单值发布,并显示编辑页面,以便用户可以更改此人的详细信息。相当标准 在编辑细节和提交时,我使用的是验证器。如果验证失败,则需要返回编辑页面并显示错误。问题是编辑页面需要通过POST方法获得Id值,但重定向似乎只使用GET方法,这会导致“控制器方法未找到”错误,因为没有设置GET路由 有人知道我如何通过POST not GET重定向回页面吗。当前我的代码如下所示: public functio

我有一个表格,上面有一个名字列表,旁边有一个“编辑”按钮和隐藏的id值。 单击“编辑”按钮将隐藏id作为表单值发布,并显示编辑页面,以便用户可以更改此人的详细信息。相当标准

在编辑细节和提交时,我使用的是验证器。如果验证失败,则需要返回编辑页面并显示错误。问题是编辑页面需要通过POST方法获得Id值,但重定向似乎只使用GET方法,这会导致“控制器方法未找到”错误,因为没有设置GET路由

有人知道我如何通过POST not GET重定向回页面吗。当前我的代码如下所示:

public function postEditsave(){
    ...
    if ($validator->fails())
    {
        return Redirect::to('admin/baserate/edit')
        ->withErrors($validator)
        ->withInput();
    }else{ 
                ...

谢谢

您无需使用POST进入编辑页面。您可以使用GET和参数创建路由,请检查以下内容:

您将有一个GET路由来显示编辑页面,还有一个POST路由来处理用户提交表单时的请求

如下所示(注意参数):

如果“用帖子重定向”是存在的,那我就不知道了。我建议你只使用flash数据

Redirect::to('user/login')->with('id', 'something');

您可以使用
Redirect::to(“dashboard/user/$id”)->withErrors($validator)->withInput()。如果验证中存在任何错误,则应使用双引号传递参数

您可以使用Redirect::back()->withInput()

您可能希望将用户重定向到其以前的位置,例如,在表单提交之后。您可以使用back方法来执行此操作


请参阅:

谢谢。理想情况下,我不想在url中透露id,即admin/users/10/edit,但如果这是最好的选择,那么我会选择它。如何将id变量传递给声明的控制器,例如,而不是:Route::get('admin/baserate/edit/{user}',function($user)…我需要类似于:Route::get('admin/baserate/edit/{user}',的内容,['uses'=>'BaserateController@getEdit“…?我不认为url中的id有什么不好的地方。但是如果你真的希望它们不显示,你可以用一个映射到id的字符串来替换它。此外,路由中的参数将是控制器中处理路由的函数中的参数,因此你可以将上面的函数放在co中Controller和参数将被很好地填充。非常感谢,这很有效。管理员可以在url中看到ID并不是一个真正的问题,我只是对Laravel和MVC非常陌生,所以我习惯于隐藏所有重要的信息。很难改掉这个习惯。谢谢,我尝试过了,但仍然通过GET not POST。我猜如果有这是一种通过POST实现的方式,它可能会打破Laravel的宁静传统。但遗憾的是,我原以为在编辑唱片细节时会更频繁地出现这样的问题。再次感谢
Redirect::to('user/login')->with('id', 'something');