Angular 2,没有“访问控制允许来源”

Posted

技术标签:

【中文标题】Angular 2,没有“访问控制允许来源”【英文标题】:Angular 2 , No 'Access-Control-Allow-Origin' 【发布时间】:2017-07-24 22:32:21 【问题描述】:

我们有 angular 2 应用程序,我们正在尝试使用 Deezer API,但是当我尝试向 Deezer 发送 GET 请求时,我得到了给定的错误。我尝试了很多解决方案,例如使用 jsonp 并将 'Access-Control-Allow-Origin' : ' * ' 添加到 .htaccess,但它们都没有帮助。我已经附加了我在服务中使用的功能。

XMLHttpRequest 无法加载 https://api.deezer.com/search/track?q=emin。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“www.example.net”。

searchFromDeezer() 
  let url = 'https://api.deezer.com/search/' + this.search_type + '?q=' + this.search_value + '';
  return this._http.get(url).map(res=>res.json())

我是如何使用 jsonp 的:

like below.

searchFromDeezer() 
  let url = 'https://api.deezer.com/search/' + this.search_type + '?q=' + this.search_value + '?callback=JSONP_CALLBACK';
  return this._jsonp.get(url).map(res=>res.json())

【问题讨论】:

使用 JSONP 见以下链接:link 正如我提到的我已经使用过它,我收到此错误:Uncaught SyntaxError: Unexpected token : vendor.bundle.js:59960 EXCEPTION: Response with status: 200 Ok for URL: ***.com/questions/23185964/… 伙计们,我用过 jsonp ,我正在更新我的代码 服务器需要处理OPTIONS动词并返回HTTP OK 【参考方案1】:

已解决

我尝试使用 jsonp 但出现错误,将'&output=jsonp&callback=JSONP_CALLBACK' 添加到我的链接后问题已得到解决。

【讨论】:

以上是关于Angular 2,没有“访问控制允许来源”的主要内容,如果未能解决你的问题,请参考以下文章

Angular 和 Golang “没有访问控制允许来源......”

Angular 2 http服务中的访问控制允许来源问题

Angular 和 Laravel CORS 访问控制允许来源问题

Django Angular cors错误:不允许访问控制允许来源

Laravel 生产,CORS 没有“访问控制允许来源”标题

ionic 2 没有“访问控制允许来源”标头