No estoy usando jquery, solo vainilla javascript. Mi sitio está alojado en un dominio, digamos que es example.com

Cuando se ejecuta el siguiente código:

JS:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.example2.com', true);

Me sale un error:

SCRIPT5: Acceso denegado

Este código funciona bien en otros navegadores (chrome, safari).

Además, esto sólo parece romperse cuando se ejecuta en mi sitio. Cuando ejecuto el que se cortó de código de la IE 11 de la consola, en otros sitios en la web, no se produce el error.

Necesito para establecer cualquier cabeceras específicas en el sitio que aloja el script? O en el sitio que se carga el script?

  • «¿Es necesario establecer las cabeceras específicas en el sitio que aloja el script» No. «O en el sitio que se carga el script» Sí. Está usted seguro de que no se están ejecutando en IE modo de compatibilidad?
  • Vas de http a https?
InformationsquelleAutor Oved D | 2014-11-25

3 Comentarios

  1. 3

    Averiguado la razón, era muy extraño, porque de alguna mierda de código heredado sentado en el sitio!

    Esta etiqueta meta existía en el encabezado:

    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    

    Que estaba diciendo, es decir, a ejecutar como IE9, y IE9 tiene un mecanismo diferente para hacer cross-dominio de las solicitudes.

  2. 1

    Puedo usar XMLHttpRequest como sigue:

    JS:

    var req = new XMLHttpRequest();
    req.open('GET', 'http://home.arcor.de/martin.honnen/cdtest/test2011060701.xml', false);
    req.send();
    var xml = new XMLSerializer().serializeToString(req.responseXML);
    console.log(xml);

    El directorio en el servidor está configurado para permitir las solicitudes de otros orígenes, el envío de la Access-Control-Allow-Origin:* encabezado de respuesta.

    He probado con Firefox, Chrome e IE en Windows 8.1.

    • En que servidor? El servidor responde a la solicitud, o en el servidor que aloja la página que hizo la solicitud?
    • El servidor responde a la solicitud. Pruebe el fragmento que he publicado con herramientas de desarrollador abierta en el navegador para inspeccionar los encabezados de petición y respuesta.
    • La cosa es, que la petición ni siquiera llega a ese servidor, el SCRIPT5 error sucede instantáneamente cuando se invoca a «abrir»
    • ¿El fragmento que he publicado no funciona para usted? Con que navegador(s)? Funciona muy bien para mí con Firefox 33, Chrome 39 e internet explorer 11 en Windows 8.1. Incluir un fragmento de código en su pregunta que no funciona, por lo que se puede intentar reproducir el problema.
    • El fragmento de código no me funciona. Es en IE10 y 11 en Windows 7. He publicado el fragmento de código en mi pregunta original.
    • Bueno, Stackoverflow permite incluir fragmentos de código ejecutable, así que por favor hacer eso, entonces otros pueden reproducir el problema es de esperar.
    • Me hizo el ejecutable, pero tiene que ser ejecutado desde la consola, en el sitio donde se aloja. Este error no se produce en todos los sitios, pero sólo cuando se ejecuta el código de ese sitio.
    • Así XMLHtmlHttpRequest es lo que ustedes llaman ejecutables? Oh, bueno.
    • Mis disculpas, se corrigió la ortografía.

  3. 0

    Parece que se enfrentaron a este problema debido al mal URL de las imágenes, sino que se muestran bien en Chrome, pero no IE.
    Ejemplo:

    http:////www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
    

    se muestra en Google Chrome (por favor, copiar y pegar) pero no aparece en mi IE.

    Razón: la URL anterior contiene en realidad más que dos barras. Hola, tengo un error en mi URL! Acabo de solucionarlo!

Dejar respuesta

Please enter your comment!
Please enter your name here