这是完整的错误
XMLHttpRequest无法加载http://urbanetradio.com/wp-json/posts。 ' Access-Control-Allow-Origin'标头的值为' http://localhost:8100'这不等于提供的原产地。起源' http://run.plnkr.co'因此不允许访问。
现在,我在很多关于 Access-Control-Allow-Origin 的帖子中都看到了,但没有人说如何将其添加到您的应用中,我使用Firebase作为后端。
Here is a jsbin或Plunker如果您想查看错误,请在jsbin中打开应用程序中的控制台,打开浏览器控制台。
这就是我正在做的事情
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('tabs', {
url: "/tabs",
abstract: true,
templateUrl: "tabs.html"
})
.state('tabs.news', {
url: "/news",
views: {
'tab-news': {
templateUrl: "tab-news.html",
controller: 'NewsCtrl'
}
}
})
$urlRouterProvider.otherwise("/tabs/news");
})
.controller('NewsCtrl', function($scope,
FreshlyPressed) {
$scope.posts = [];
$scope.doRefresh = function() {
$scope.posts = FreshlyPressed.getBlogs($scope);
$scope.$broadcast('scroll.refreshComplete');
}
$scope.doRefresh();
})
.service('FreshlyPressed', function($http) {
return {
getBlogs: function($scope) {
$http.get('http://urbanetradio.com/wp-json/posts')
.success(function(result) {
$scope.posts = result;
});
}
}
})
我正在向wordpress帐户收取请求以获取帖子。这是一个移动应用程序,当我在网络浏览器中测试应用程序时一切正常,但当我尝试在我的手机中打开该应用程序时,出现错误,我无法看到帖子
here is the app just in case you want to test it
所以你觉得我能在这做什么?我在哪里放Access-Control-Allow-Origin: *
?
答案 0 :(得分:2)
将$http.get('http://urbanetradio.com/wp-json/posts')
替换为$http.jsonp('http://urbanetradio.com/wp-json/posts')
并尝试主持人是否支持 JSONP ,而不是"安全性较低"简单的JSON请求。大多数API服务器都支持它,它克服了Access-Control-Allow-Origin
标头错误。