Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/07/2007, 01:02
ajk
 
Fecha de Ingreso: abril-2006
Mensajes: 25
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Problema con document.domain y peticiones AJAX

Cita:
Iniciado por MaBoRaK Ver Mensaje
loading............


asignar document.domain a jk.net ?.... eso no te entendí...
document.domain solo es de lectura....

Muestra un poco de código por favor y si tienes un ejemplo EN LINEA sería mejor.



connection closed.
Document.domain no es solo de lectura, pongo una fuente xa documentar el tema:
http://msdn2.microsoft.com/en-us/library/ms533740.aspx

El ejemplo sencillamente, seria intentar hacer una peticion por un xml local probando q funcione(cualquier aplicacion ajax q tengais sirve) y luego añadir a vuestra aplicacion el document.domain con un valor correcto(si poneis un valor incorrecto os saltar una excepcion del tipo valor ilegal)

Mi aplicacion es compleja xa poner aki todo el codigo, de todas formas ahi va el codigo de un ejemplo similar, aunque recomiendo q lo probeis con una aplicaicon ajax vuestra xa q veais mejor el problema:

Una cosa mas, como no veo justo q os compliqueis la vida a lo tonto, os digo el trasfondo de a q viene todo este cuento del document.domain, xq a algunos de vosotros os puede ser util en el futuro.

Suponed q teneis una aplicacion web con javascript, y cargais un frame q se encuentra en otra maquina distinta de vuestro dominio. Bien la cuestion es q ahora quereis q una instancia javascipt del frame cargado se comunique con una instancia javascript de la pagina q lo ha cargado(siento si parece un trabalenguas jeej)(algo asi como un mensaje del hijo al padre via js), bien, por politica de seguridad esto no se puede y te deniega el acceso con una excepcion, la solucion es asignar un valor al document.domain con un sufijo del dominio en ambos sitios, xa q esta comunicaion pueda ser util. Esto lo estoy utilizando en mi aplicacion web y es lo q me esta haciendo la puñeta con mi parte ajax.(siento el tocho)


Ahi va un ejemplo tipo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<title>index</title>
<script type="text/javascript">
alert(document.domain);
document.domain="jk.net";

ac=this;
var _req;
this.loadXMLDoc=function(url) {
_req = false;
// branch for native XMLHttpRequest object
try {
//req = new XMLHttpRequest();
if (window.XMLHttpRequest){
_req = new XMLHttpRequest();

//alert("XMLHttpRequest Creado");
}
} catch(e) {
_req = false;
}
if(_req) {
_req.onreadystatechange = ac.httpCallback;
_req.open("GET", url, true);
_req.send(null);
//alert("...Enviada...");
}
}
this.httpCallback=function() {
// only if req shows "loaded"
if (_req.readyState == 4) {
// only if "OK"
if (_req.status == 200) {
// ...processing statements go here...
//alert("Llego contenido con exito");
//alert("Llega la respuesta, responseXML: "+req.responseXML);
alert("Llega la respuesta, responseTEXT: "+_req.responseText);
alert("Llega la respuesta, responseTEXT: "+_req.responseXML);
alert("Llega la respuesta, responseTEXT: "+_req.responseXML.firstChild.nodeType);
alert("Llega la respuesta, responseTEXT: "+_req.responseXML.firstChild.firstChild.nodeValue );
alert("Llega la respuesta, responseTEXT: "+_req.responseXML.getElementsByTagName('messages' ));
alert("Llega la respuesta, responseTEXT: "+_req.responseXML.getElementsByTagName('messages' ).item(0).firstChild.data);

alert("Llega la respuesta, responseTEXT: "+_req.responseXML.toString());


} else {
alert("There was a problem retrieving the XML data:\n" +_req.statusText);
}
}
}
// ac.loadXMLDoc("http://127.0.0.1:8993/Application1-xmls-context-root/xmlPrueba.xml");
</script>
</head>
<body></body>
</html>