Pregunta

Estoy intentando lanzar una solicitud de algunos datos desde un sitio web externo con una API.

Si copio y pego la solicitud en mi navegador web, funciona bien. Ejemplo como (http://example.com/json/user/search/all) Puedo ver los resultados en la ventana del navegador.

Sin embargo, estoy intentando iniciar esta consulta desde un sitio web y tengo un problema: Usando un javascript como este: var req= new XMLHttpRequest (); req.open ('OBTENER', URL arriba mencionada, verdadero) req.send ()

Recibo un error que dice: El origen (MyDOMAIN) no está permitido por Access Control Allow Origin.

Una vez más, soy bastante nuevo en XMLHttpRequests y creo que esto es bastante simple de resolver. ¿Nadie sabe?(Intenté buscar en Google pero no pude encontrar una buena respuesta) Gracias de antemano.

¿Fue útil?

Solución

No puede realizar Cross-Site XMLHttpRequests y debe utilizar unaproxy para lograrlo.

Este artículo de Yahoo lo explica en detalle y ofrece más ideas sobre cómopara solucionarlo.Pero básicamente no debería hacerse porque esta restricción existe por motivos de seguridad.

Sería mejor si usaras PHP y fopen(), por ejemplo, y simplemente llamaras a esa página usando tu objeto XMLHttpRequest.

Otros consejos

El problema es la política del mismo origen .Esta es una regla según la cual XMLHTTPRequests no puede usarse excepto en el mismo dominio que la página original.Esto es por razones de seguridad.

La forma más fácil de evitarlo es escribir un script del lado del servidor que transmita la solicitud por usted.

Esta es la protección de su navegador contra secuencias de comandos cruzadas.No se le permite acceder a otras páginas que provengan de un dominio diferente.

EDITAR: Compruebe también esto: XMLHttpRequest entre sitios

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