Pregunta

Me gustaría hacer una llamada Ajax a un servidor diferente (el mismo dominio y caja, solo un puerto diferente). Eg

mi pagina es

http://localhost/index.html

Me gustaría realizar una solicitud de obtención de ajax para:

http://localhost:7076/?word=foo

Recibo este error:

Access to restricted URI denied (NS_ERROR_DOM_BAD_URI) 

Sé que no puedes realizar una solicitud ajax a un dominio diferente, pero parece que esto también incluye puertos diferentes.¿Hay alguna solución?

¿Fue útil?

Solución

Tenga una determinada página en su puerto 80 solicitudes de proxy del servidor al otro puerto.Por ejemplo:

http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo

Tenga en cuenta la codificación de la URL en el último valor del argumento de la cadena de consulta.

Otros consejos

Podrías usar JSONP.Aquí es donde especifica una devolución de llamada con la solicitud, la respuesta de su solicitud ajax se empaqueta con el nombre de la función de devolución de llamada.En lugar de utilizar XmlHttpRequest, inserta una etiqueta en el documento HTML con la URL.Luego, cuando se recupera la respuesta, se llama a la función de devolución de llamada, pasando los datos como parámetro.

Mira esto entrada en el blog fuera para un ejemplo

Esta es una restricción del navegador.Todas las llamadas de JavaScript deben realizarse al mismo servidor y puerto de inicio del script.Esto requerirá algo del lado del servidor para solucionarlo.ES DECIR.tener el proceso en localhost enviar la solicitud a localhost:7076.

Apesta, pero es necesario...Básicamente, lo que tendrá que hacer es enviar su solicitud AJAX a través de un proxy local (algún script/página/lo que sea del lado del servidor en el mismo dominio en el que se encuentra), recibir la llamada y reenviarla al otro servidor de recursos. lado.Puede que haya algunos trucos de IFRAME que puedas hacer, pero no creo que funcionen muy bien... aunque podría estar mal, ha pasado un tiempo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top