【发布时间】:2016-07-23 13:49:09
【问题描述】:
我正在使用 Angular2 结构,我想从服务器中提取信息。
现在,我的 api 域与 FrontEnd 应用程序不同,我希望浏览器会在执行实际请求之前触发 OPTIONS 请求。然而,这并没有发生。相反,我得到的是一个错误:
跨域请求被阻止:同源策略不允许读取 http://localhost:8080/rrm/api/v1/goals 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。
我的死简单Angular2代码如下:
export class AppComponent implements OnInit {
goals: Object[];
constructor(public authHttp: AuthHttp) {}
ngOnInit():any {
this.getGoals();
}
getGoals() {
this.authHttp.get('http://localhost:8080/rrm/api/v1/goals')
.subscribe(
data => this.goals = data.arrayBuffer(),
err => console.log('Error ', err),
() => console.log('Request Complete')
);
}
}
我错过了什么?我没有在服务器上收到options 请求,我在浏览器中也看不到它...
谢谢,
【问题讨论】:
-
你必须在服务器端启用
CORS。 -
这是什么意思,我必须在服务器端启用它?我什至没有收到服务器端的请求......它与服务器端有什么关系?