2010-03-06 24 views
6

He estado pensando por un tiempo si hay una forma de hacer que AJAX entre dominios (usando XML, no JSON) funcione. ¿Alguien puede ver ninguna razón por la siguiente no funcionaría:AJAX de dominios cruzados: ¿funcionaría este método?

  1. Crear un iframe
  2. carga la URL de la llamada AJAX en el iframe
  3. Uso de JavaScript para obtener el contenido del iframe

(esto no será asíncrona, pero podría usar setTimeout(functionToLoadTheIframe, 1) permitirá alcanzar asincronía?)

Respuesta

5

Sí, puedes usar iframes para AJAX entre dominios. Se vuelve un poco complicado (más aún si se quiere usar XML), pero es posible. Aquí hay un buen artículo que describe varios hacks diferentes que se utilizan. Creo que uno es bastante similar a lo que describes. Más importante aún, describe las reglas sobre iframe para la comunicación iframe que probablemente sea la más útil.

http://softwareas.com/cross-domain-communication-with-iframes

+0

Enlace realmente útil - saludos – wheresrhys

2

esto no funcionaría debido a las mismas restricciones de seguridad de dominio. En la mayoría de los casos, no puede interactuar con marcos que tienen un dominio diferente. De lo contrario, un sitio malicioso podría cargar su bandeja de entrada de correo electrónico, por ejemplo.

3

iframes donde se usan para permitir llamadas remotas y "simular" ajax tal como lo conocemos hoy, y la respuesta es SÍ ... puede usar iframes pero tiene que escribir guiones a veces complejos del lado del cliente usando javaScript.

¿Ha considerado utilizar una secuencia de comandos/aplicación del lado del servidor en su dominio como un proxy para el recurso remoto?

Es decir, envíe sus solicitudes a su secuencia de comandos/aplicación en su dominio que a su vez obtendrá datos/información del host remoto.

cordiales,

+0

estoy usando un script del lado del servidor en el momento y que está funcionando muy bien, así que mi pregunta es, en parte por el valor curiosidad, pero en parte para ver si hay una solución en el futuro si quiero usar un XML webservice en una página html simple utilizando javascript pero sin secuencias de comandos del lado del servidor. – wheresrhys

+0

es factible con iframes con restricciones ... por lo que debe buscar primero antes de implementar. respetos. – Andreas

Cuestiones relacionadas