Ajax entre subdominio distintos.

253 views
Skip to first unread message

Jimmy Collazos || acido || cuatroxl.com

unread,
Dec 10, 2010, 4:53:53 AM12/10/10
to phpbar...@googlegroups.com, jque...@googlegroups.com
Buenos días.

Estoy intentando hacer una llamada Ajax con envío por POST entre dos subdominios distintos:

a.dominio.com
b.dominio.com

Y  no lo consigo, por problema de problema de seguridad (501).

He puesto ya el mismo document.domain (document.domain=dominio.com) en las dos páginas; esto me funcionaba en los Iframes, pero imagino que por estar en JS en la página secundario (b.dominio.com) no se ejecuta.

He podido leer que otra opción es usar:
  Access-Control-Allow-Origin

Pero por desgracia no puedo cambiar la configuración del Apache.

Actualmente estoy intentándolo con un iframe escondido; pero la verdad que no conozco muy bien este método.

¿Alguien tiene experiencia con esto?
¿Hay solución vía HTML, Javascript?
¿La única opción es configurar el Apache con Access-Control-Allow-Origin ?

Muchas gracias!

--
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::: J i m m y  C o l l a z o s :::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
desarrollado web; estándar, accesible, escalable
----------------------------------------------------------------------------
                                                                acido69

César

unread,
Dec 10, 2010, 6:38:18 AM12/10/10
to phpbar...@googlegroups.com, jque...@googlegroups.com
Hola Jimmy,

Yo solucioné el mismo problema con CSSHttpRequest, es un método de "engañar" al navegador haciendo la comunicación AJAX camuflada en CSS.
El código JSON (o lo que quieras enviar) se codifica en PHP en el servidor remoto, se envía como CSS y se descodifica en el navegador cliente.

http://nb.io/hacks/csshttprequest

No sé si habrá algo mejor, porque hace ya más de 2 años que lo usé, pero recuerdo que funcionaba muy bien.


Un saludo,

César



2010/12/10 Jimmy Collazos || acido || cuatroxl.com <aci...@gmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "Grupo de programadores PHP de Barcelona" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a phpbar...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a phpbarcelona...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/phpbarcelona?hl=es.

Jimmy Collazos || acido || cuatroxl.com

unread,
Dec 10, 2010, 6:55:23 AM12/10/10
to phpbar...@googlegroups.com
Creo que ya he encontrado la solución; aunque un poco raro.

he creado un iframe llamando a la página con el otro subdominio:

a.dominio.com:    <iframe name="mask" src="http://b.dominio.com/page.html" />

y a través de JS hago la petición ajax desde esa ventana:

window.mask.jQuery.Ajax(.....

y por ahora está funcionando en FF, IE(6, 7, 8), Opera

Daniel Vigueras

unread,
Dec 10, 2010, 6:40:15 AM12/10/10
to phpbar...@googlegroups.com, jque...@googlegroups.com
Hola Jimmy, 

te recomiendo que le eches un vistazo a esta página http://www.ajax-cross-domain.com/

Un saludo

2010/12/10 César <ce...@anui.org>

theUniC

unread,
Dec 10, 2010, 6:51:21 AM12/10/10
to phpbar...@googlegroups.com, jque...@googlegroups.com
Se me ocurre que quizá puedas definir un PHP que te actúe cómo proxy? Es decir, tú desde cliente haces la solicitud AJAX a un php de tu sitio web y este PHP (p. ej. a través del componente Zend_Http) solicite la página externa y devuelva la respuesta a la solicitud.

Espero que te sirva! Un saludo!

Christian.

César

unread,
Dec 10, 2010, 8:03:02 AM12/10/10
to phpbar...@googlegroups.com, jque...@googlegroups.com
Eso es justo lo que hace la librería que ha enviado Daniel, que por cierto es de pago. El método implica dos llamadas http, y el servidor que hace de proxy debe tener allow_url_fopen, que en los hostings compartidos suele estar capado, pero si es un hosting propio y puedes hacerlo es una buena opción

saludos,

César Escribano


2010/12/10 theUniC <the...@gmail.com>

Pablo Pazos

unread,
Dec 10, 2010, 10:47:40 AM12/10/10
to phpbar...@googlegroups.com
Hace un tiempo hice un post que capaz te sirve> http://yuppframework.blogspot.com/2010/07/resolviendo-llamados-ajax-entre.html

Saludos.

2010/12/10 Jimmy Collazos || acido || cuatroxl.com <aci...@gmail.com>
Buenos días.

--
Has recibido este mensaje porque estás suscrito al grupo "Grupo de programadores PHP de Barcelona" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a phpbar...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a phpbarcelona...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/phpbarcelona?hl=es.



--
Atte.
A/C Pablo Pazos Gutiérrez
LinkedIn: http://uy.linkedin.com/in/pablopazosgutierrez
Blog: http://informatica-medica.blogspot.com/
Sígueme en twitter: http://twitter.com/ppazos
Reply all
Reply to author
Forward
0 new messages