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

Error al cargar archivos desde otro dominio

Estas en el tema de Error al cargar archivos desde otro dominio en el foro de Frameworks JS en Foros del Web. Buenas a todos. Dentro de mi pagina estoy intentando mostrar datos que vienen de otro servidor en un archivo que devuelve datos en xml. El ...
  #1 (permalink)  
Antiguo 01/03/2009, 17:54
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 meses
Puntos: 1
Error al cargar archivos desde otro dominio

Buenas a todos.

Dentro de mi pagina estoy intentando mostrar datos que vienen de otro servidor en un archivo que devuelve datos en xml. El problema es que, al intentar hacerlo via ajax, recibo un error debido a que firefox no permite la carga de archivos desde otro servidor via ajax, algo que se comenta en este post. En el mismo, al final, se habla de hacerlo a traves de un proxy php, pasandole la web codificada con encodeURIcomponent para que este la cargue. Yo lo he hecho, usando un header("Location: ".$_GET['src']) en dicho proxy, pero me da el siguiente error:

Error de seguridad: el contenido en http://localhost:8888/web/proxy.php?...m%2F%3Fid%3D11 no puede cargar datos de http://api.webfuente.com/?id=11

¿Hay alguna manera de evitar esto? Ocurre en FF, Safari y Opera (no lo he testeado en IE). He estado mirando que hay paginas que hablan de descargar dicho archivo a nuestro servidor para luego leerlo, pero primero, no se como hacer eso, y segundo, no se si es viable, porque continuamente necesito hacer llamadas a ese servidor para que me devuelva informacion dependiendo del id que le pase, y no se si tardará mucho en realizar ese proceso.
  #2 (permalink)  
Antiguo 01/03/2009, 20:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error al cargar archivos desde otro dominio

Hola jemarquesini,

Lo puedes hacer con PHP por ejemplo pero descargando los datos desde PHP, por ejemplo:
Código php:
Ver original
  1. <?php
  2. // TODO: Clean URL to avoid XSS
  3. $sDestiny = $_GET['url'];
  4. $rcURL = curl_init($sDestiny);
  5. curl_setopt($rcURL, CURLOPT_HEADER, 0);
  6. curl_exec($rcURL);
  7. curl_close($rcURL);

Saludos
  #3 (permalink)  
Antiguo 03/03/2009, 17:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Error al cargar archivos desde otro dominio

Hola GatorV.

He buscado un poco de informacion acerca de curl, ya que no lo conocia, pero no he conseguido entender como manejar los datos recibidos. Imaginemos, por ejemplo, que tenemos el siguiente codigo:

Código PHP:
$ch curl_init();
curl_setopt($chCURLOPT_URL'http://www.webfuente.com');
curl_setopt($chCURLOPT_HEADERfalse);
curl_setopt ($chCURLOPT_RETURNTRANSFERtrue);
$resultado curl_exec($ch);
$error curl_error($ch);
curl_close($ch); 
Si llamo a dicha url, se supone que debo recibir datos xml, lo que no se es como dichos datos son guardados en la variable $resultado y como debo tratarlos. Hasta ahora tenia todo pensado para que, cuando se generara el archivo xml, pudiera parsearlo usando javascript, pero parece como si tuviera que hacerlo usando xml. Voy a seguir buscando info, pero una ayudilla no me vendria mal.

Saludos
  #4 (permalink)  
Antiguo 03/03/2009, 17:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error al cargar archivos desde otro dominio

Si usas el ejemplo que te deje, puedes ver que tal cual tu haces el request lo imprime, entonces lo puedes tratar desde Javascript.

Si lo quieres tratar desde PHP te recomiendo vayas a tal foro para que aprendas a hacerlo, te recomiendo en ese caso usar SimpleXML.

Saludos
  #5 (permalink)  
Antiguo 04/03/2009, 12:48
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Error al cargar archivos desde otro dominio

He empezado a usar SimpleXML y parece bastante bastante util. Estoy en fase de aprendizaje, pero ya empiezo a entenderlo.

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 19:32.