xhr open example ejemplo javascript ajax api wikipedia xmlhttprequest

javascript - open - Consultar API de Wikipedia utilizando AJAX(XMLHttpRequest)



xmlhttprequest open (2)

El navegador no le permitirá enviar un XHR a otro dominio que no sea el que está en la página. Esto es por seguridad.

Una forma de evitar esto que he visto es configurar un proxy en el dominio en el que está alojada la página que pasará las solicitudes al servidor api real. Ver http://ajaxpatterns.org/Cross-Domain_Proxy

Estoy tratando de implementar una solicitud simple a la API de Wikipedia usando AJAX (XMLHttpRequest). Si escribo la url en la barra de direcciones de Firefox, obtengo un XML limpio, sin problemas. Sin embargo, llamando a la misma URL con:

// this is my XMLHttpRequest object httpObjectMain.open("GET", "http://en.wikipedia.org/w/api.php?action=query&format=xml&prop=langlinks&lllimit=500&titles=kaas", true); httpObjectMain.send(null);

devuelve una respuesta vacía. Según FireBug, recibo una respuesta de 200 OK, pero el contenido está vacío.

Sospecho que me podría estar perdiendo algo en el encabezado de la solicitud GET http.

¡Ayuda! (¡y gracias!)


La Wikipedia API es compatible con JSONP . Su cadena de consulta se convertirá en algo como esto:

http://en.wikipedia.org/w/api.php?action=query&format=json&callback=test&prop=langlinks&lllimit=500&titles=kaas

Pero deberá compilar el controlador jsonp (o puede usar su biblioteca favorita para hacerlo), cambiar al formato de salida json del xml que elija y crear la función de devolución de llamada para analizar el resultado y hacer las cosas que necesita en el página.