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
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.
> 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 :::::::::::::::::::::
> -- > 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 > phpbarcelona@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/phpbarcelona?hl=es.
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
-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : :::::::::::::::: J i m m y C o l l a z o s ::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : desarrollado web; estándar, accesible, escalable --------------------------------------------------------------------------- - acido69
> 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.
> 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 <acid...@gmail.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 :::::::::::::::::::::
>> -- >> 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 >> phpbarcelona@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/phpbarcelona?hl=es.
> -- > 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 > phpbarcelona@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/phpbarcelona?hl=es.
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<http://framework.zend.com/manual/en/zend.http.client.html>) solicite la página externa y devuelva la respuesta a la solicitud.
Espero que te sirva! Un saludo!
Christian.
El 10 de diciembre de 2010 12:38, César <ce...@anui.org> escribió:
> 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.
> 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 <acid...@gmail.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 :::::::::::::::::::::
>> -- >> 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 >> phpbarcelona@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/phpbarcelona?hl=es.
> -- > 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 > phpbarcelona@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/phpbarcelona?hl=es.
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
> 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<http://framework.zend.com/manual/en/zend.http.client.html>) > solicite la página externa y devuelva la respuesta a la solicitud.
> Espero que te sirva! Un saludo!
> Christian.
> El 10 de diciembre de 2010 12:38, César <ce...@anui.org> escribió:
> 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.
>> 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 <acid...@gmail.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 :::::::::::::::::::::
>>> -- >>> 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 >>> phpbarcelona@googlegroups.com. >>> Para anular tu suscripción a este grupo, envía un correo electrónico a >>> phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> >>> Para tener acceso a más opciones, visita el grupo en >>> http://groups.google.com/group/phpbarcelona?hl=es.
>> -- >> 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 >> phpbarcelona@googlegroups.com. >> Para anular tu suscripción a este grupo, envía un correo electrónico a >> phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> >> Para tener acceso a más opciones, visita el grupo en >> http://groups.google.com/group/phpbarcelona?hl=es.
> -- > 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 > phpbarcelona@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/phpbarcelona?hl=es.
> 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 :::::::::::::::::::::
> -- > 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 > phpbarcelona@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > phpbarcelona+unsubscribe@googlegroups.com<phpbarcelona%2Bunsubscribe@google groups.com> > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/phpbarcelona?hl=es.