How to get data from mediawiki api using Angularjs

2019-05-31 23:29发布

问题:

While I try to access wiki api using Angularjs $http.get(), CORS issues occured. Here is my code

$http.get('http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=India') .success(function(data){ console.log('data' +data); });

And this is the error message

XMLHttpRequest cannot load https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=India. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

回答1:

Use JSONP for cross-site requests.



回答2:

Check the following SO answer regarding CORS:

CORS, Cordova, AngularJs $http and file:// confusion

As well as the mentioned in the comment:

http://www.html5rocks.com/en/tutorials/cors/



回答3:

See Manual:CORS and API:Cross-site requests. Specifically, you need to set $wgCrossSiteAJAXdomains and add an origin parameter to your request.