javascript jquery internet-explorer cors xdomainrequest

javascript - encabezado de origen cruzado en IE8/IE9



jquery internet-explorer (2)

Como jQuery ajax no funciona para CORS / IE, estoy usando XDomainRequest para XDomainRequest datos de otro servidor. El trabajo está bien, pero me gustaría enviar un encabezado (''Autentificación'', ''tipo de contenido'').

¿Existe la posibilidad de agregar / cambiar el encabezado en XDomainRequest?

¿O alguien sabe una solución?


Esto es lo que hicimos para IE.

Si tiene control sobre el dominio de destino, hospede un archivo html (estático) allí. Incluir el html utilizando el iframe.

Ahora este iframe realmente tiene acceso al dominio local, por lo que puede comunicarse entre el marco principal y el secundario para obtener lo que necesita.

Esto funcionó mucho mejor que XDomainRequest para nosotros.

window.postMessage es la mejor manera de configurar la comunicación:

Pero estoy bastante seguro de que solo comenzó a funcionar desde IE8. Si también necesita navegadores más antiguos, debe usar un truco diferente.

En nuestro caso, este fue nuestro sistema de 3 capas:

  1. CORS, para navegadores que lo soportan.
  2. Un iframe y window.postMessage como un respaldo primario
  3. Un script proxy del lado del servidor como la alternativa secundaria

Todas estas opciones funcionan bien, son confiables y no se sentían como un hack. La alternativa secundaria casi nunca se usó.

Tenga en cuenta que el encabezado ''Autenticación'' es específicamente especial, y de todos modos no me sorprendería que esté bloqueado en ciertas circunstancias. Agregamos un encabezado personalizado ''X-Authenticate'' ya que pasó todo el tiempo.