Laravel该路线不支持GET方法。支持的方法:POST

时间:2019-05-27 00:14:36

标签: php laravel laravel-5.8

我有下一个麻烦 我有一个表格,当我单击“注册”按钮时,请告诉我下一个:

“此路由不支持GET方法。受支持的方法:POST。”

但是我的方法是POST,这是我的路线:

Route::post('/createpedido',[
'uses'=>'PedidosControlador@pedidoagregado',
'as'=>'Pedidos.pedidoagregado']);

这是我刀片的一部分

            <form method="post" action="{{route('Pedidos.pedidoagregado')}}" enctype="multipart/form-data">
            {{csrf_field()}}
            <div class="row text-center">

                <div class="col-lg-12 col-sm-12">
                    <h2>Agregar Pedido</h2>
                    <h3>Cliente: {{$Clientes->nombreempresa}}</h3>
                </div>

                <div class="col-lg-6 col-sm-6">
                    <h2>Datos Pedido</h2>
                    <hr size="5" color="#FF0000" />

这是我完整的控制器

   public function pedidoagregado(Request $request)
{
    $validator = Validator::make($request->all(), [
        'pedido' => 'required|string|max:255',
        'fechapedido' => 'required|date|max:255',
        'fechaentrega' => 'required|date|max:255',
        'tipopedido' => 'required|string|max:255',
        'observaciones' => 'required|email|max:255',
    ]);

    if ($validator->fails()) {
        return redirect('/createpedido')
            ->withErrors($validator)
            ->withInput();
    }

    $pedido = $request['pedido'];
    $fechapedido = $request['fechapedido'];
    $fechaentrega = $request['fechaentrega'];
    $tipopedido = $request['tipopedido'];
    $observaciones = $request['observaciones'];
    $idcliente = $request['idcliente'];

    $pedidos = new Pedidos();

    $pedidos->idcliente = $idcliente ;
    $pedidos->npedido = $pedido;
    $pedidos->fechapedido = $fechapedido;
    $pedidos->fechaentrega = $fechaentrega;
    $pedidos->tipopedido = $tipopedido;
    $pedidos->observacones = $observaciones;
    $pedidos->save();

    $request->session()->flash('alert-success', 'Pedido Agregado Correctamente');

    if(Auth::user()->userlevel == "admin"){
    return redirect()->to('administrador/');
    }

    if(Auth::user()->userlevel == "ventas"){
        return redirect()->to('ventas/');
    }

}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我检查了您提供的代码,一切正常。我猜想,您有可能让两个routes分别获得表单,第二个获得将数据发布到服务器的发布路径。

也许是错误的,您为两条路线都赋予了相同的别名。

您为方法post提供了一个别名,因此无论您给它使用相同的别名都应该起作用,还是忘记关闭form tag或错误地在form中使用另一种形式。 路由缓存可能存在一些问题。 用工匠命令清除它。

php artisan route:clear

也许这行得通,有可能您做错了什么,所以我建议您重新检查答案中包含的所有部分。