Foros del Web » Programando para Internet » Javascript » Frameworks JS »

no veo larespuestadel servidor

Estas en el tema de no veo larespuestadel servidor en el foro de Frameworks JS en Foros del Web. Les pido su ayuda pleasee sucede que tengo una pagina html que deseo que envie una solicitud via AJAX a un servidor PHP y deseo ...
  #1 (permalink)  
Antiguo 03/09/2008, 19:06
 
Fecha de Ingreso: octubre-2005
Mensajes: 28
Antigüedad: 18 años, 6 meses
Puntos: 1
no veo larespuestadel servidor

Les pido su ayuda pleasee

sucede que tengo una pagina html que deseo que envie una solicitud via AJAX a un servidor PHP y deseo q los datos XML devueltos por el servidor PHP sean tratados via XSL (esto lo quiero en el lado del cliente). El tema es que el servidor me esta respondiendo bien con el XML pero no veo nada en la pagina:

La pagina HTML
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <link href="libreria/css/maqueta_tel.css" rel="stylesheet" type="text/css" />
   <script language="javascript" type="text/javascript" src="libreria/js/Telefonia.js"></script>

   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title>Documento sin t&iacute;tulo</title>
</head>
<body background="libreria/imagen/fondo.gif">
<form id="form_respta" action="" method="" enctype="multipart/form-data" target="_blank">


   <div id="container">
      <div id="principal" class="principal">
        <div id="datpers" class="datpers">
	  <div id="datacli" class="datacli">
	  </div>
           <div id="datacli_btn"  class="datacli_btn">
		<input id="busCliente" class="myButton" name="busCliente" type="button" value="Buscar Cliente" onclick="buscar(this,'CL001','METFULL','gerardo');"/>
	    </div>
	  </div>	
	</div>	  	  	  	  
      </div>	 
</form>
</body>
</html> 
el codigo javascripts e:
Código:
// almacena la referencia al objeto XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

// el nombre del archivo XSLT
var xsltFileUrl = "grid.xsl";
// el archivo que devuelve los datos pedidos en formato XML
var pagPhp = "libreria/php/cTelefonia/telefonia.php"; 
// el id del div de la parrilla
var gridDivId = "gridDiv";
// el div de la parrilla de status
var statusDivId = "statusDiv";
// almacena temporalmente los datos de las filas
var tempRow;
// la ID del producto que está siendo editado
var editableId = null;
// el documento XSLT
var stylesheetDoc;

// Envio peticion de busqueda
function buscar(obj,agencia, campana, usuario)
{
	// cadenaFormulario
	var cadenaFormulario = "";
	// Nombre del objeto solicitante;
    var nomObjeto = obj.name; 

	// La cadenaFormulario se añade el nombre del objeto.
	cadenaFormulario += 'obj='+nomObjeto;
	// La cadenaFormulario se añade la agencia.
	cadenaFormulario += '&agencia='+agencia;
	// La cadenaFormulario se añade la campaña.
	cadenaFormulario += '&campana='+campana;	
	// La cadenaFormulario se añade el usuario.
	cadenaFormulario += '&usuario='+usuario;

	  // carga la parrilla
      loadStylesheet("libreria/xsl/telCliente.xsl");	

	// almacena la referencia al objeto XMLHttpRequest
	xmlhttp = null;

  	// deshabilita el modo edición cuando carga una nueva página
  	editableId = false;
	
    //continúa sólo si el objeto XMLHttpRequest no está ocupado
  	if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))  {
		
		var query = pagPhp;
    	xmlHttp.open("POST", query, true);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');

		if (nomObjeto == 'BusCliente'){
			xmlHttp.onreadystatechange = handleLoadCliente;		   
		}
    	xmlHttp.send(cadenaFormulario);
		
		
	}
}

// Manejador de la peticion
function handleLoadCliente () {

  // cuando readyState is 4, leemos la respuesta del servidor
  if (xmlHttp.readyState == 4) {
    // continúa sólo si el estatus HTTP es "OK"
    if (xmlHttp.status == 200) {    
	  // lee la respuesta
      response = xmlHttp.responseText;
	  
      // ¿error del servidor?
      if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0) {
        // muestra mensaje de error
		alert("hola");
        alert(response.length == 0 ? "Server serror." : response);
        // sale de la función
        return;
      }


	  // respuesta del servidor en formato XML
	  xmlResponse = xmlHttp.responseXML;	  
      var gridDiv = document.getElementById("datacli");
      gridDiv.innerHTML = xmlResponse;

      // ¿navegador con funcionalidad nativa?    
      if (window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser) {      
        // carga el documetno XSLT
        var xsltProcessor = new XSLTProcessor();
        xsltProcessor.importStylesheet(stylesheetDoc);
		
        // genera el código HTML para la nueva página de productos
        page = xsltProcessor.transformToFragment(xmlResponse, document);
		
        // muestra la página de productos
        var gridDiv = document.getElementById("datacli");
        gridDiv.innerHTML = "";
        gridDiv.appendChild(page);
      } 
      
	  // código Internet Explorer	  
      else if (window.ActiveXObject)  {
        // carga el documento XSLT
        var theDocument = createMsxml2DOMDocumentObject();
        theDocument.async = false;
        theDocument.load(xmlResponse);
        // muestra la página de productos
        var gridDiv = document.getElementById("datacli");
		gridDiv.innerHTML = "";
        gridDiv.innerHTML = theDocument.transformNode(stylesheetDoc);
      }
    } 
    else 
    {          
      alert("Error leyendo respuesta del servidor.");
    }
  } 
	
}

function loadStylesheet(hojaEstilo)
{
	var xmlHttp = createXmlHttpRequestObject();	
	// carga el archivo desde el servidor
  	xmlHttp.open("GET", hojaEstilo, false);
  	xmlHttp.send(null);
  	// intenta cargar el documento XSLT
  	if (this.DOMParser) // navega con funcionalidad nativa
  	{
    	var dp = new DOMParser();
    	stylesheetDoc = dp.parseFromString(xmlHttp.responseText, "text/xml");
  	} 
  	else if (window.ActiveXObject) // ¿Internet Explorer? 
  	{
		stylesheetDoc = createMsxml2DOMDocumentObject();         
		stylesheetDoc.async = false;         
		stylesheetDoc.load(xmlHttp.responseXML);
  	}
}

// crea una instancia XMLHttpRequest
function createXmlHttpRequestObject() 
{
   // almacenará la referencia al objeto XMLHttpRequest
   var xmlHttp;
 
   // esto debería funcionar en todos los navegadores excepto IE6 y más antiguos
   try
   {
     // intenta crear el objeto XMLHttpRequest
     xmlHttp = new XMLHttpRequest();
   }
  catch(e)
  {
    // asume IE6 o más antiguo
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");

	// prueba cada id prog hasta que una funcione
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // intenta crear objeto XMLHttpRequest
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // devuelve el objeto creado o muestra un mensaje de error
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

el XSL es:
Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">  
  
	<div id="datacli1" class="datcli">
		<ul>
			<li class="lista">	<xsl:value-of select="data/row/TipCliente/"/> 
								<xsl:value-of select="data/row/IdCliente/"/>
			</li>
			<li class="lista">	<xsl:value-of select="data/row/Nombre/"/>
			</li>
			<li class="lista">	<xsl:value-of select="data/row/Sexo/"/>
			</li>
			<li class="lista">Profesion: <xsl:value-of select="data/row/Profesion/"/>
			</li>
			<li class="lista">Suc.Agencia: <xsl:value-of select="data/row/PtoContacto/"/>
			</li>
		</ul>
	</div>
	<div id="datacli2" class="datcli">
		<ul>
			<li class="lista">Mandante: <xsl:value-of select="data/row/NomMandante/"/>
			</li>
			<li class="lista">Servicio: <xsl:value-of select="data/row/Servicio/"/>
			</li>
		</ul>
	</div>
	<div id="datacli3" class="datcli">
		<ul>
			<li class="lista">Telefono: <xsl:value-of select="data/row/TelNumero/"/>
			</li>
			<li class="lista">Linea: <xsl:value-of select="data/row/TelLinea/"/>
			</li>
			<li class="lista">Anexo: <xsl:value-of select="data/row/TelAnexo/"/>
			</li>
			<li class="lista">Prefijo Local: <xsl:value-of select="data/row/TelPreLocal/"/>
			</li>
			<li class="lista">Prefijo Pais: <xsl:value-of select="data/row/TelPrePais/"/>
			</li>
		</ul>
	</div> 
  </xsl:template>
</xsl:stylesheet>

el XML devuelto por el servidor es:
Código:
<?xml version="1.0" encoding="ISO-8859-1"?><data><action>busCliente</action><row><IdCliente>11676018-5

</IdCliente><TipCliente>Rut</TipCliente><Profesion>Contador Auditor</Profesion><Nombre>Pedro Gonzalez

 Ramirez</Nombre><Sexo>M</Sexo><NomMandante>Metrogas</NomMandante><PtoContacto>Estado 324, Santiago,

 Santiago</PtoContacto><Servicio>Judicial</Servicio><TelNumero></TelNumero><TelLinea></TelLinea><TelAnexo

></TelAnexo><TelPreLocal></TelPreLocal><TelPrePais></TelPrePais><CliFolio>2</CliFolio></row></data>
por favor les pido su ayuda...

Gracias
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 06:09.