Javascript AngularJS:使用维基百科API中的web服务

Javascript AngularJS:使用维基百科API中的web服务,javascript,angularjs,cors,wikipedia-api,Javascript,Angularjs,Cors,Wikipedia Api,我正在开发一个AngularJS应用程序,我想显示一些来自维基百科的信息,但我无法访问AngularJS中的数据,因为CORS限制 $scope.wikipediaData = $http.get('http://es.wikipedia.org/w/api.php?titles='+$scope.country.name.toLowerCase()+'&rawcontinue=true&action=query&format=json&prop=ex

我正在开发一个AngularJS应用程序,我想显示一些来自维基百科的信息,但我无法访问AngularJS中的数据,因为CORS限制

     $scope.wikipediaData =  $http.get('http://es.wikipedia.org/w/api.php?titles='+$scope.country.name.toLowerCase()+'&rawcontinue=true&action=query&format=json&prop=extracts');
它发出了调用,我在firebug中看到了它,我复制了url并将其粘贴到另一个选项卡中,我可以看到JSON响应

在firebug中,我也看到我必须激活CORS,但我不知道怎么做,我尝试了很多解决方案,我一直在StackOverflow和其他网站上阅读

有人能帮我吗

谢谢

您可以使用它来避免CORS问题

简而言之:服务器必须支持JSONP,因为它将使用回调创建一个返回字符串,作为返回JSON的包装器。然后您的回调函数将获取JSON作为参数。 您不需要管理它,因为Angular将为您处理此问题

您只需将
&callback=JSON\u callback
添加到url并使用
$http.jsonp

请看下面的演示和这里的

(维基百科上有一份回报,但我不知道这是否是你想要的。)

var-app=angular.module('myApp',[]);
app.factory('wikiService',函数($http){
var wikiService={
获取:功能(国家){
返回$http.jsonp('http://es.wikipedia.org/w/api.php?titles=“+country.name.toLowerCase()+”&rawcontinue=true&action=query&format=json&prop=extracts&callback=json_callback”);
}
};
返回服务;
});
app.controller('MainController',函数($scope,wikiService){
get({name:'Germany'}).then(函数(数据){
控制台日志(数据);
$scope.wikiData=data.data;
});
});