Cargando

Mandar mi consulta al controlador por Ajax POST



  •   Responder

Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 30 marzo 2016 - 15:42

Buenas a todos tengo la siguiente pregunta, primero les muestro mis codigos:

 

Este es el codigo de jquery ajax para realizar una consulta por POST y devolver datos al instante

 $("#rub").change(function () {
           $("#rub option:selected").each(function () {
            id = $(this).val();
            $.post("datos_pro", { id: id }, function(data){
                $("#tablabody").html(data);
            });            
        });       
   })

Este es mi controlador:

public function datos_pro()
	{
		$id = $_POST['id'];
		$productos = Producto::where('ID_RUB','=',$id)->get();
		foreach ($productos as $producto):          
                $html2 = '<tr>'.'<th>'.$producto->id.'</th>'.'<th>'.$producto->DES_PRO.'</th>'.'<th>'.$producto->PUN_PRO.'</th>'.'<th>'.$producto->CAN_PRO.'</th>'.'</tr>';
		echo $html2;
		endforeach;

	}

Aqui le mando el id por el cual consulta, y al final le mando la parte que va a insertar en el html.

Todo va bien corre y funciona, pero con un pequeño detalle que yo estoy utilizando dataTables de Jquery, inserto el codigo html y se muestra, pero al momento de realizar alguna de sus funcionalidades, como ser ordenar, filtrar o ver el numero de entradas, toda esta consulta desaparece.

 

La solucion logica que encontre fue que en el codigo del script en el function(data) ya no se le envie el html sino se le pueda enviar la consulta al controlador para que cuando este se ejecute pueda realizar la carga de datos en la vista, bueno no se como hacerlo la verdad, esto ya me tiene semanas.

 

Alguien podria darme alguna idea de como hacer esa operacion?

 

PD. Como dato adicional tengo un boton que me despliega la ventana modal talvez otra alternativa sea que al presionar el boton me mande el valor del <select> y que cargue la consulta en el dataTable, gracias a todos de antemano por su colaboracion


  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba


X