我在这里已经看到了几个相关的问题,但还没有解决我的问题。
我正在尝试在我正在建设的小型网络应用中访问雀斑(letsfreckle.com)api,但我遇到了问题。当我启动没有安全性的Chrome浏览器但它不能在github页面上运行时以及当我将应用程序打包为chrome扩展时,它可以工作。
这就是我的服务的样子
jXtnsion.factory('freckle', ['$http', function($http){
return $http.get('https://api.letsfreckle.com/v2/projects?freckle_token=kacgnpf0og0hfi1it32o9xtc2ls2328-gmeb1nwcp1ko8o0f0ygi4mlxxxxxxxx&f&format=jsonp')
.success(function(freckleData){
return freckleData;
})
.error(function(err){
return err;
});
}]);
我一直得到一个' XMLHttpRequest无法加载https://api.letsfreckle.com/v2/projects?freckle_token=kacgnpf0og0hfi1it32o9xtc2ls2328-gmeb1nwcp1ko8o0f0ygi4mlxxxxxxxx&f&format=jsonp。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://andela-asogbein.github.io'因此不允许访问。
为什么这不起作用?
答案 0 :(得分:0)
我认为您的服务器需要正确响应浏览器代表您发出的OPTIONS请求,以确定CORS请求是否有效。它需要包含一个Access-Control-Allow-Headers标头,其中包含正确的信息。
您可以参考:
https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS#Preflighted_requests
答案 1 :(得分:0)
我通过包含
解决了这个问题"permissions": [
"https://*/"
],
在我的manifest.json文件中,因此它作为chrome扩展名没有问题。问题似乎来自雀斑api和本地主机的问题