Foros del Web » Programando para Internet » Javascript »

llamada sincrona o asincrona a servidor

Estas en el tema de llamada sincrona o asincrona a servidor en el foro de Javascript en Foros del Web. buenos días foro. tengo una duda con la que seguro que me podéis ayudar. estoy con una aplicacion en la que debo leer unos xml. ...
  #1 (permalink)  
Antiguo 05/08/2013, 01:38
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta llamada sincrona o asincrona a servidor

buenos días foro.

tengo una duda con la que seguro que me podéis ayudar.

estoy con una aplicacion en la que debo leer unos xml. el metodo de lectura creo que es correcto.

Código:
function cargarXMLDoc(archivoXML) 
	{
		try{
    if (window.XMLHttpRequest) {// codigo para IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            }
            else {// para IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.open("GET", archivoXML, false);	
            xmlhttp.send();
            var xml = xmlhttp.responseXML;
			return xml;
			
		}catch(e){
			alert("cargarXMLDoc: " +e);
			}
}
donde archivoXML es la url del archivo.

mi duda viene por que al ejecutar esto desde el explorador en vivo de dreamweaver todo funciona correctamente, pero desde un navegador, lanza Dom Exception 19.

si no me equivoco, esto es por el parámetro false del método open, pero al ponerlo como true, xml es siempre null.

alguien me puede explicar por que pasan estas cosas??
  #2 (permalink)  
Antiguo 05/08/2013, 07:08
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: llamada sincrona o asincrona a servidor

buenas,
el DOM Exception 19 es lo mismo que NETWORK_ERR, y significa que hubo error en la conexión. seguramente es porque estás intentando cargar un documento que no reside en el mismo dominio que el script.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/08/2013, 04:32
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Respuesta: llamada sincrona o asincrona a servidor

reabro mi post por que sigo tras de lo mismo.

efectivamente, como indica Zerokiller, los archivos que trato de leer están en un servidor distinto. son unos archivos de los que se alimentan otras app ya existentes.

El problema es que sigo sin comprender, como puede ser que si emulo la aplicacion en dreamweaver o IE, si que tenga acceso a esos archivos y todo funcione correctamente (a medias en IE) mientras que si lo ejecuto desde Chrome, o firefox, las lineas del primer post lancen la excepción DOM Exception 19.

como dato nuevo que puedo aportar ahora, al compilarlo com oaplicacion phonegap con webworks para blackberry, las mismas lineas lanzan la excepcion: Network ERR: xmlhttpRequest Exception 101.

por lo que veo, tiene que ver con la llamada desde dominio distinto, pero no deberia pasar.

el control de acceso del head del archivo en el servidor, es:

Access-Control-Allow-Headers: Accept,Origin,Content-Type.

pero no encuentro ninguna explicación completa de que significa.

gracias por adelantado y ojala alguien pueda ayudarme con mis dudas.
  #4 (permalink)  
Antiguo 13/08/2013, 05:30
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: llamada sincrona o asincrona a servidor

en cuanto a phonegap por fin lo he conseguido solucionar con la propieda

<access uri="http://www.laruta.es" subdomains="true">
<feature id="blackberry.app" required="true" version="1.0.0"/>
<feature id="blackberry.invoke" required="true" version="1.0.0"/>
</access>

en el config

en cuanto a chrome sigo sin saber por q falla, pero por ahora lo doy por solucionado, gracias a todos

Etiquetas: asincrono, xml
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 12:15.