【发布时间】:2018-04-25 10:43:04
【问题描述】:
我有这个控制器
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
url: string;
constructor(private http: HttpClient){
this.url = 'https://stats.nba.com/stats/leaguedashplayerbiostats?PerMode=Totals&LeagueID=00&Season=2017-18&SeasonType=Regular Season';
this.http.get(this.url,)
.subscribe(/*data => {*/
data => {
console.log("HOLA");
},
err => {
console.log("Error occured.")
});
}
}
这是对 NBA API Stats 的请求,如果我在 Postman 中执行,我会看到所有数据,但如果我使用 Angular 4 执行,我会在 Chrome 开发者工具中看到下一个错误
加载失败 https://stats.nba.com/stats/leaguedashplayerbiostats?PerMode=Totals&LeagueID=00&Season=2017-18&SeasonType=Regular%20Season: 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:4200” 访问。
我正在使用命令ng serve 运行服务器
我尝试了很多我在网上阅读的解决方案,但我认为唯一的解决方案是在后端进行更改
【问题讨论】:
-
是的,你之前已经问过这个问题,而且你已经得到了回应。
-
几乎就像错误所说的服务器没有设置“Access-Control-Allow-Origin”。
-
如果您想知道为什么它不像邮递员那样失败,请参阅此问题:github.com/bttmly/nba/issues/34