Problem with the POST method

0

Good afternoon!

My problem is this, I am trying to send an array through a Script to a route to get to use a function inside a controller, but my problem is that when I run my program I get the error:

> MethodNotAllowedHttpException in RouteCollection.php line 218:
>     in RouteCollection.php line 218
>     at RouteCollection->methodNotAllowed(array('POST')) in RouteCollection.php line 205
>     at RouteCollection->getRouteForMethods(object(Request), array('POST')) in RouteCollection.php line 158

and I do not know how to solve this detail, if someone can guide me I would be too grateful I share my Script the route and the Controller

Script

$(document).ready(function(){

$("#btn-solicitar").on('click',function(){

    $(this).prop('disabled', true);

    $(this).removeClass('btn-success').addClass('btn-warning');     

            enviar();               

 });



function enviar(){

var articulos   = Array();

var cantidades  = Array();

var descripciones  = Array();

var usuario     = $('#nombre-usuarios').val();

var area        = $('#nombre-area').val();

var areas       = $('#nombre-area').text();

var localidad   = $('#nombre-localidades').val();

/*cantidades*/

$(".input-cantidad").each(function(){

    cantidades.push($(this).val());

});

/*articulos*/

$(".input-item").each(function(){

    articulos.push($(this).val());

});

/*descripcion*/

$(".input-descripcion").each(function(){

    descripciones.push($(this).val());

});

$.post('guardar-articulos',{'articulos':articulos,'cantidades':cantidades, 'descripciones':descripciones, 'usuario':usuario, 'localidad':localidad, 'area':area, 'areas':areas},function(data){

    $(".body-list").html("");

    $(".list-items").slideUp("slow");

    $("#btn-solicitar").prop('disabled', false);

});
}

This is my route

Route::post('guardar-articulos', 'PapeleriaController@guardar');

This is the controller

public function guardar(){

  $area_       = Area::all();
  $solicita    = Input::get('usuario');
  $area        = Input::get('area');
  $localidad   = Input::get('localidad');
  $areas       = Input::get('areas');
  $responsable = Area::find($area);

   $solicitud = new Solicitud;

     $solicitud->solicita       = $solicita;
     $solicitud->autoriza       = $responsable->responsable;
     $solicitud->mail_autoriza  = $responsable->correo;
     $solicitud->area           = $area;
     $solicutud->status         ='Pendiente';
     $solicitud->id_localidad   =$localidad;

   $solicitud->save();

   $cantidades    = Input::get('cantidades');
   $articulos     = Input::get('articulos');
   $descripciones = Inpput::get('descripciones');
   $folio         = $solicitud->folio;
   $count         = count($artuculos);

   for($item = 0;$item < $count; $item++){

      $papeleria = new Papeleria;

        $papeleria->articulo     = $articulos[$item];
        $papeleria->cantidad     = $cantidades[$item];
        $papeleria->descripcion  = $descripciones[$item];
        $papeleria->folio        = $folio;
        $papeleria->id_localidad = $localidad; 

      $papeleria->save();

   }

   $usuario    = $solicita;
   $area       = $area;
   $mail       = $responsable->correo;
   $articulos  = Papeleria::where('folio', '=', $folio)->get();
   $pedidos    = Solicitud::all();
   $datos      = array('articulos' => $articulos, 'folio' => $folio, 'usuario' => $usuario, 'areas' => $areas, 'mail' => $mail); 

}

This way it is Script but at the moment of sending it, it sends me an error in the console

function enviar(){

var articulos   = Array();

var cantidades  = Array();

var descripciones  = Array();

var usuario     = $('#nombre-usuarios').val();

var area        = $('#nombre-areas').val();

var areas       = $('#nombre-areas').text();

var localidad   = $('#nombre-localidades').val();

var token = '{{csrf_token()}}';

/*cantidades*/

$(".input-cantidad").each(function(){

    cantidades.push($(this).val());

});

/*articulos*/

$(".input-item").each(function(){

    articulos.push($(this).val());

});

/*descripcion*/

$(".input-descripcion").each(function(){

    descripciones.push($(this).val());

});

var param = {articulos:articulos,cantidades:cantidades,descripciones:descripciones,usuario:usuario,localidad:localidad,area:area,areas:areas,_token:token};

$.ajax({
        url     :  "{{route('guardar-articulos')}}",
        type    :  'POST',
        dataType:  'json',
        data    :   param,
        success :   function (data) {
            alert('send');
        },
        error   :   function() {
            alert('error');
        }

This is the error that sends in the console

jquery.js:4 POST http://localhost/Pape/%7B%7Broute('guardar-articulos')%7D%7D 404 (Not   Found)
send @ jquery.js:4
ajax @ jquery.js:4
enviarPedido @ items.js:147
(anonymous) @ items.js:53
dispatch @ jquery.js:3
r.handle @ jquery.js:3
    });    

}
    
asked by Bahamut4321 30.11.2018 в 00:57
source

0 answers