当我尝试使用Angularjs $ http.get()访问wiki api时,发生了CORS问题 . 这是我的代码
$ http.get('http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=India ') .success(function(data){ console.log(' data'数据); });
这是错误信息
XMLHttpRequest无法加载https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=India . 请求的资源上没有'Access-Control-Allow-Origin'标头 . 因此不允许原点'null'访问 .
3 回答
Use JSONP用于跨站点请求 .
检查以下关于CORS的SO答案:
CORS, Cordova, AngularJs $http and file:// confusion
以及评论中提到的:
http://www.html5rocks.com/en/tutorials/cors/
见Manual:CORS和API:Cross-site requests . 具体来说,您需要设置$wgCrossSiteAJAXdomains并在请求中添加
origin
参数 .