Problema con ajax en laravel
AUTOR PREGUNTA #1
Buenas a todos de esta comunidad, resulta que tengo el siguiente problema: Estoy desarrollando un sistema de almacenes en el cual tengo un modulo de ingresos, al realizar un registro de nuevo ingreso, despliego una ventana modal donde le pido el almacen y el rubro, debajo tengo un boton que dice agregar producto al hacer clic se despliega otra ventana modal donde le sale un listado de los productos correspondientes.
Tengo el codigo ajax que seria el siguiente:
<script type="text/javascript" lang="javascript"> function despliegaModal2( _valor ){ function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function buscar(){ divResultado = document.getElementById('bgVentanaModal2'); //tomamos el valor enviado del formulario de envio clave=document.almacen_form.alm.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usamos el medoto POST //archivo que realizará la operacion ajax.open("POST", "IngresoController.php",true); //mostramos una imagen mientras cargamos el resultado de la consulta divResultado.innerHTML= '<img src="images/ajax.gif">'; ajax.onreadystatechange=function() { if (ajax.readyState==4) { //visualizamos el resultado correscpondiente divResultado.innerHTML = ajax.responseText } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valoress ajax.send("clave="+clave) } document.getElementById("bgVentanaModal2").style.visibility=_valor; } </script>
Este codigo lo que hace es enviar el campo ingresado en almacen a la siguiente ventana (en teoria), mi pregunta es:
en el codigo
ajax.open("POST", "IngresoController.php",true);
como le direcciono a un metodo de mi controlador que es el que hara la consulta?, ya que cuando lo pruebo con ese codigo no realiza nada.
O como es q en realidad funciona ajax, si tienen alguna otra forma de hacerlo me ayudaria mucho, lo unico que quiero es que al mandar los parametros de almacen y rubro me cargue en la otra ventana los productos respectivos en un dataTable de Jquery, es decir solo que mande los parametros xq la consulta para que carguen los datos ya estan listos en el controlador.
PD. Si pueden darme una manito en los combos dependientes tambien me ayudarian mucho.
Gracias de antemano por sus respuestas.
-
1 personas más tuvieron esta duda Yo también
Esto también te interesa!
PREGUNTAS SIMILARES
#2
El uso de funciones con valores GET o POST es muy usado con AJAX.
Para determinar uso de GET o POST. La función determina el método que usará el objeto AJAX para enviar las variables a la página. En tu caso que envías con el método POST es diferente a cuando se hace con GET. Recuerda que si envías con GET y hay variables POST, estas no serán pasadas. Debes saber si hay variables POST que deben ser pasadas, colocar el método cómo POST y sino dejarlo en GET.
Te recomiendo echar un ojo aquí sobre el método Post.
AUTOR PREGUNTA #4
La solucion fue mas facil de lo que esperaba, en:
ajax.open("POST", "IngresoController.php",true);
en vez de darle IngresoController.php
Defini una ruta:
Route::post('datos_rub','IngresoController@datos_rub');
y quedo asi el codigo:
ajax.open("POST", "datos_rub",true);
y ahi funciona correctamente, gracias a todos los que comentaron el post.
#5
La solucion fue mas facil de lo que esperaba, en:
ajax.open("POST", "IngresoController.php",true);en vez de darle IngresoController.php
Defini una ruta:
Route::post('datos_rub','IngresoController@datos_rub');y quedo asi el codigo:
ajax.open("POST", "datos_rub",true);y ahi funciona correctamente, gracias a todos los que comentaron el post.
Gracias por compartirlo, yo lo he estado mirando y me interesó bastante.