Query Wikipedia’s API using AJAX (XMLHttpRequest)

Spread the love

Question Description

I am trying to implement a simple request to Wikipedia’s API using AJAX (XMLHttpRequest). If I type the url in the address bar of Firefox, I get a neat XML, no sweat there. Yet, calling the exact same url with:

// 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);

returns an empty response. According to FireBug, I get a 200 OK response, but the content is just empty.

I suspect I might be missing something on the header of the GET http request.

Help! (and thanks!)

Practice As Follows

The Wikipedia API does support JSONP.
Your query string’ll become something like this:

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

But you’ll have to build the jsonp handler (or you can use your favorite library to do it), switch to json output format from the xml you choose and create the callback function to parse the result and do the stuff you need on the page.

Leave a Comment