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
});
}