我正在研究一个离子项目,我已经写了我的服务。但是在我的console.log中,我收到消息说我的标题中没有“Access-Control-Allow-Origin”。
如何将其纳入我的服务?
这是我的服务代码:
angular.module('Chemicar.services', [])
.service('ChemicarService', function($http, $q){
var url_youtube = "XXXXXXXXXXXXXXXXXXXX";
var self = {
'youtubeVideos' : [],
'loadYoutubeVideos' : function(){
var d = $q.defer();
$http.get(url_youtube)
.success(function(data){
console.log(data);
self.youtubeVideos = data;
//create an array to hold the prommisses
var promisses = [];
$q.all(promisses).finally(function(){
d.resolve('The promise has been fulfilled');
//console.log("ˆˆˆˆˆ" , promisses);
});
})
.error(function(msg){
console.error("There was an error in retrieving the json data " , msg);
d.reject("The promise was not fulfilled");
});
return d.promise;
}
};
return self;
});
我的控制器代码:
angular.module('Chemicar.controllers', ['Chemicar.services'])
.controller('VideoCtrl', function($scope, $http, ChemicarService){
$scope.youtubeVideos = [];
ChemicarService.loadYoutubeVideos().then(function success (data){
$scope.youtubeVideos = ChemicarService.youtubeVideos;
})
})
答案 0 :(得分:1)
跨越域名是一个问题,并通过CORS治愈(上面的评论)
对于短期修复(假设您正在使用Chrome),请为目标添加disable-web-security标志 -
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security
答案 1 :(得分:0)
好的,我看了以下博客的评论 - > http://blog.ionic.io/handling-cors-issues-in-ionic/
我刚刚安装了Allow-Control-Allow-Origin:*插件作为快速修复。当在实际设备上运行时,这当然不起作用
所以我仍在寻找通过js将Allow-Control-Allow-Origin添加到我的服务中的解决方案。因为我无法联系api的管理员....