【发布时间】:2018-01-03 00:14:54
【问题描述】:
我正在尝试在我的 Angular 4 应用程序中使用 Spotify / Musixmatch API 获取一些数据,但它无法正常工作。我不断收到此错误:
XMLHttpRequest 无法加载 http://api.musixmatch.com/ws/1.1/album.get?album_id=14250417&apikey=xyz010xyz。 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:9000” 访问。
JS
let headers = new Headers();
headers.append('Content-Type','application/json');
headers.append('Accept', 'application/json');
headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE, PUT');
headers.append('Access-Control-Allow-Origin', '*');
headers.append('Access-Control-Allow-Headers', "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding");
let options = new RequestOptions({ headers: headers });
console.log(options)
return this.http.get(this.url + 'album.get?album_id=' + album_id + '&apikey=' + this.apikey, options)
.map(res => res.json())
}
【问题讨论】:
-
headers 需要设置在后端,而不是前端...
-
@AJT_82 我正在使用 Spotify API。
-
我自己从来没有用过,所以真的帮不上忙……你试过这样的东西吗? stackoverflow.com/a/41879977
-
@AJT_82 API 的其余部分工作正常,遇到 Authenticate API 的问题。
-
在我链接的答案中有如何设置标题......这似乎是这里的问题。
标签: javascript angular