首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无访问控制允许使用$http和angular的源头

无访问控制允许使用$http和angular的源头
EN

Stack Overflow用户
提问于 2015-10-27 22:00:50
回答 1查看 614关注 0票数 0

我正在尝试使用angular来使用Flickr API,但是每当我尝试发出请求时,我都会收到这个错误。我已经在网上找过了,但似乎找不到一个像样的答案

XMLHttpRequest无法加载https://api.flickr.com/services/feeds/photos_public.gne?tags=potato&tagmode=all&format=json。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源'http://localhost:8000‘。

以下是我的请求代码-我正在尝试100%使用angular完成此任务,而不必运行服务器

代码语言:javascript
运行
复制
FlickrController.$inject = ['$http']


function FlickrController($http){
  var self = this 
  this.newPhoto = {}
  // this.photos = Photo.query();

  this.getPhoto = function(){
    console.log('gettinghere')
    $http
    .get('https://api.flickr.com/services/feeds/photos_public.gne?tags=potato&tagmode=all&format=json')
    .then(function(response){
      var photoData = response.data
      console.log(photoData)
      self.addPhoto(photoData)
    })
  }
EN

回答 1

Stack Overflow用户

发布于 2015-10-27 22:07:31

这不是AngularJS的问题,而是服务器通信的问题。

必须从服务器发送访问控制允许源。请求由您的javascript应用程序执行。但是浏览器停止传递响应,因为不同的域,并且没有提供访问控制允许来源。

我不确定是否可以将Flicker api设置为发送此消息。但是可以在您自己的服务器上执行端点,这会将您的请求发送到flicker。因为就像我说的。只有浏览器停止了响应。

如果您没有任何后端(一些测试应用程序),您可以使用某种proxy - https://www.npmjs.com/package/proxy-middleware

然后你的api会请求localhost:8000/ api /,并且会有代理与原始的flicker api进行通信。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33370056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档