Foros del Web » Programando para Internet » Jquery »

Ajax de jquery con problemas de carga

Estas en el tema de Ajax de jquery con problemas de carga en el foro de Jquery en Foros del Web. Hola javascripts... Tengo el siguiente problema, tengo una carga de skus con tres select multiples, el problema cuando selecciona el primer select el segundo carga ...
  #1 (permalink)  
Antiguo 29/11/2014, 07:23
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 10 meses
Puntos: 0
Ajax de jquery con problemas de carga

Hola javascripts...

Tengo el siguiente problema, tengo una carga de skus con tres select multiples,
el problema cuando selecciona el primer select el segundo carga tambien pero aveces cambiando los option suele pasar que no a cargado bien el segundo select, asi pasa tambien con el tercer select, aveces carga aveces no.

Código Javascript:
Ver original
  1. function escoge_categoria_principal(){
  2.  
  3.             $("#cate_princ option:selected").each(function () {
  4.                     valor=$(this).val();
  5.             });
  6.               $.ajax({
  7.                 type:"GET",
  8.                 async: true,
  9.                 dataType:"html", //este es el tipo de datos que esperas del server
  10.                 url:"/proyecto/Vista/select_tip_producto.php",
  11.                 data:"valor="+valor,
  12.                 beforeSend:function(){
  13.                     console.log("Antes de enviar");
  14.                 },
  15.                 success:function(data){
  16.                    $("#tipo_producto").html(data);
  17.                 }              
  18.              });  
  19. }
aqui esta el select_tip_producto.php
Código PHP:
Ver original
  1. <?php
  2.  require('../Controlador/Consultas.php');
  3.     $item = new Consultas();
  4.     $busca = $_GET['valor'];
  5.  
  6.     $array = $item->consulta_tipo_productos($busca);  
  7.         for($i = 0;$i<count($array);$i++){
  8.             $uno = $array[$i]["codigo"];
  9.             $dos = $array[$i]["nombre"];
  10.             echo '<option value="'.$uno.'">'.$dos.'</option>';
  11.         }
  12.         $item->cerrar_conexion();
  13.     ?>




Código Javascript:
Ver original
  1. function escoge_tipo_producto(){
  2.  
  3.             $("#tipo_producto option:selected").each(function () {
  4.                 valor=$(this).val();
  5.              });  
  6.               $.ajax({
  7.                 type:"GET",
  8.                 async: true,
  9.                 dataType:"html", //este es el tipo de datos que esperas del server
  10.                 url:"/proyecto/Vista/select_categoria.php",
  11.                 data:"valor="+valor,
  12.                 beforeSend:function(){
  13.                     console.log("Antes de enviar");
  14.                 },
  15.                 success:function(data){
  16.                       $("#categoria").html(data);
  17.                
  18.                 }              
  19.              });  
  20.    
  21.   }

Aqui les dejo el otro select

Código PHP:
Ver original
  1. <?php
  2. require('../Controlador/Consultas.php');
  3.         $con = new Consultas();
  4.         $busca = $_GET['valor'];
  5.         $row = $con->consulta_categoria($busca);
  6.         for($i = 0;$i<count($row);$i++){
  7.             $codigo = $row[$i]['codigo'];
  8.             $nombre = $row[$i]['nombre'];
  9.             echo '<option value ="'.$codigo.'">'.$nombre.'</option>';
  10.         }
  11.         $con->cerrar_conexion();
  12.  
  13.  
  14. ?>

La llamada a las consultas estan bien, hice algunas pruebas por ejemplo
localhost/proyecto/Vista/select_categoria.php?value=1111 un ejemplo y muestra las opciones, parece ser el problema el jquery pero segun veo pues con el firebug observo que efectivamente hay una accion como esto en la parte de consola:
/proyecto/Vista/select_categoria.php?valor=3334, en cada cambio de option hay un evento.
Les agradezco la ayuda.
  #2 (permalink)  
Antiguo 29/11/2014, 09:59
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Ajax de jquery con problemas de carga

Le anexe un parametro llamado error y cuando falla sale esto
Object {readyState=4, statusText="OK", status=200, ...}
timeout
undefined

parece ser con el tiempo.
  #3 (permalink)  
Antiguo 01/12/2014, 17:11
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 11 años, 6 meses
Puntos: 32
Respuesta: Ajax de jquery con problemas de carga

valida que no cargue el ajax apartir de una variable
es decir... cada vez que entra a una funcion que hara un ajax setea una variable como false
al terminar el ajax y entrar al .done o sucess cambia la variable a true
y valida siempre que esa variable sea true para que entre al ajax, de tal forma siempre espera a que termine una para que cargue otra ya que eso es lo que te da problemas
  #4 (permalink)  
Antiguo 01/12/2014, 19:28
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Ajax de jquery con problemas de carga

Cita:
Iniciado por andresgarciadev Ver Mensaje
valida que no cargue el ajax apartir de una variable
es decir... cada vez que entra a una funcion que hara un ajax setea una variable como false
al terminar el ajax y entrar al .done o sucess cambia la variable a true
y valida siempre que esa variable sea true para que entre al ajax, de tal forma siempre espera a que termine una para que cargue otra ya que eso es lo que te da problemas
Gracias ya corregi el problema, simplemente tenia una version menos del jquery, le puse la actual y funciono mejor el ajax.

Etiquetas: ajax, funcion, html, input, javascript, js, php, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:24.