2012-07-04 9 views
5

tengo la siguiente configuración:IE para dejar de tratar a Ajax como entre dominios, dentro de marco flotante

www.domain1.com/page1/ - hace ajax Publicar demanda a www.domain1.com/page2/

www.domain1.com/page2/ - devuelve la respuesta JSON


www.domain2.com/page1/ - incrusta en www.domain1.com/page1/ iframe


Cuando cargo www.domain1.com/page1/ se realiza la solicitud de ajax y todo funciona. Cuando cargo www.domain2.com/page1/ en Chrome o Firefox, www.domain1.com/page1/ se muestra en el iframe, y la solicitud de ajax está bien.

Cuando intento cargar www.domain2.com/page1/ en IE7/IE8, la petición ajax da un error Prohibida - parece ser el tratamiento de la solicitud como entre dominios y el bloqueo que, a pesar de que la solicitud se formula www.domain1.com/page1/-www.domain1.com/page2/ .

Funciona bien en IE cuando la solicitud es GET, pero no POST. ¿Cómo puedo lograr que IE deje de tratar esto como dominio cruzado, simplemente porque todo el flujo está contenido en un iframe?

Gracias!

+0

Probablemente aflojar un poco la configuración de seguridad (tal vez habilitar "Ejecución de programas y archivos en IFRAME") – t3hn00b

Respuesta

2

jQuery v1.7.2 corregirá CORS en IE, incluso si no es realmente CORS pero IE cree que sí.
Este simple booleano al comienzo de su función de JavaScript debe solucionar este comportamiento

$.support.cors = true; 

Esto funciona tanto para GET y POST.

+0

Tuvimos el mismo problema. La actualización de jQuery v1.7.1 a v1.11.0 (versión actual) hizo el truco. ¡Gracias! – Lionel

Cuestiones relacionadas