Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2015, 18:23
Avatar de mari_2015
mari_2015
 
Fecha de Ingreso: junio-2015
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Pregunta Problemas al cargar los datos traidos de la base de datos postgres con ajax

Bueno estoy empezando a realizar un sistema en mvc con html php ajax y postgres, pero no se mucho la utilizacion de ajax

el problema que tengo es que encontre un codigo en la web que me sirve para hacer una consulta en la base de datos y traer los resultados y mostrarlos en los campos de texto del formulario sin recargar la pagina, el ejemplo encontrado funciona, pero al adaptarlo al sistema no me hace la funcionalidad, resumiendo un poco me arroja el siguiente error por la consola web:

TypeError: respuesta is null

el depurador me marca la siguiente linea:

campo1.value=respuesta.getElementsByTagName("prime r_nombre_rp")[0].childNodes[0].data;


El codigo es el siguiente:
Código Javascript:
Ver original
  1. function nuevoAjax(){
  2.         var xmlhttp=false;
  3.        
  4.         try
  5.         {
  6.             xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  7.         }
  8.      
  9.         catch(e)
  10.         {
  11.             try
  12.             {
  13.                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  14.             }
  15.            
  16.             catch(E)
  17.             {
  18.                 xmlhttp=false;
  19.             }
  20.         }
  21.      
  22.         if (!xmlhttp && typeof XMLHttpRequest!='undefined')
  23.         {
  24.             xmlhttp=new XMLHttpRequest();
  25.         }
  26.         return xmlhttp;
  27.     }
  28. //_______________________________________________
  29.  
  30. function valida_campo_ci(url)
  31. {
  32.     var form_consul_user_especf=document.form_consul_user_especf;
  33.        
  34.  
  35.     if (form_consul_user_especf.consul_ci.value==0)
  36.     {
  37.         alert("Ingrese la cedula del responsable patrimonial a buscar");
  38.         form_consul_user_especf.consul_ci.focus();
  39.         return false;
  40.     }else{
  41.        
  42.             var campo1=document.getElementById("primer_nombre");
  43.             var cod=document.getElementById("consul_ci").value;
  44.          
  45.             var ajax=nuevoAjax();
  46.          
  47.             ajax.open("POST", "url", true);
  48.             ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  49.             ajax.send("v="+cod);
  50.            
  51.      
  52.             ajax.onreadystatechange=function()
  53.             {
  54.                 if (ajax.readyState==4)
  55.                 {
  56.                     var respuesta=ajax.responseXML;
  57.                      
  58.                     campo1.value=respuesta.getElementsByTagName("primer_nombre_rp")[0].childNodes[0].data;
  59.                
  60.                 }
  61.             }  
  62.         }
  63.     }


la clase o modelo:
Código PHP:
Ver original
  1. Class Usuarios extends Conectar{
  2.  
  3. private $ced=array();
  4.        
  5.  public function get_usuarios_por_cedula()
  6.     {
  7.        
  8.         $v=$_POST["v"];
  9.        
  10.         parent::con();
  11.         $sql=sprintf
  12.         (
  13.             "select primer_nombre_rp from responsable_patrimonial where cedula_rp='$v'"
  14.    
  15.         );
  16.        
  17.         $res=pg_query(parent::con(),$sql);
  18.            
  19.             if(pg_num_rows($res)==0)
  20.             {
  21.             echo 'No se encontro ningun resultado';
  22.             }else{
  23.                        
  24.         $reg=pg_fetch_assoc($res);
  25.        
  26.         while($reg=pg_fetch_assoc($res))
  27.          {
  28.               $this->ced[]=$reg;
  29.          }
  30.               $this->ced;
  31.          
  32.         $xml="<?php xml version='1.0' encoding='ISO-8859-1'?>";
  33.         $xml.="<datos>";
  34.         $xml.="<primer_nombre_rp><![CDATA[$reg[0]]]></primer_nombre_rp>";
  35.         $xml.="</datos>";
  36.         header("Content-type: text/xml");
  37.         echo $xml;
  38.            
  39.         return $this->ced; 
  40.             }
  41.     }
  42. }


vista:
Código PHP:
Ver original
  1. <form name="form_consul_user_especf" action=""  method="post">
  2.         <div class="form-inline">
  3.             <!--Buscador-->
  4.             <div class="form-group">
  5.                 <div class="input-group col-lg-12">
  6.                   <input type="text" id="consul_ci" name="consul_ci" data-provide="typeahead" class="form-control"
  7.                   placeholder="Ingrese codigo del bien">
  8.                   <span class="input-group-btn">
  9.                     <input type="hidden" name="grabar2" value="si" />
  10.                     <button type="button"  onClick="valida_campo_ci('<?php echo Conectar::ruta();?>controlador/cuenta_usuarioControlador.php');" class="btn btn-primary" type="button">Buscar</button>
  11.                   </span>
  12.                 </div>      
  13.             </div>
  14.  
  15.  
  16.                 <div class="form-group col-lg-4">
  17.                     <div class="input-group" id="campo">
  18.                         <input type="text" class="form-control" name="primer_nombre" id="primer_nombre" placeholder="Primer Nombre">
  19.                         <span class="input-group-addon">
  20.                             <img src="<?php echo Conectar::ruta();?>img/images_form/usuario.PNG">
  21.                         </span>
  22.                     </div>
  23.                 </div>
  24. </form>

Controlador:
Código PHP:
Ver original
  1. <?php
  2.  
  3.  require_once("config.php");//archivo de conexion a la Base de datos
  4.  require_once("clases/clases_usuario.php"); //archivos de las clases
  5.  $obj=new Usuarios();
  6.  
  7.  
  8. if(isset($_POST["grabar2"]) and $_POST["grabar2"]=="si"){
  9.         $datos=$obj->get_usuarios_por_cedula();exit;           
  10.     }
  11.    
  12. require_once("vista/cuenta_usuario.phtml"); //muestra la vista
  13.  
  14. ?>

Ayudenme Porfaaa