Angular2获取请求两次
发布时间:2020-12-17 07:28:59 所属栏目:安全 来源:网络整理
导读:我有一个问题,Angular2两次提出相同的请求.我不知道为什么,因为我只有一次订阅Observable.这是我的代码: 我的服务看起来像这样: getProjects(): ObservableProject[] { return this.http.get(this.url) .map(this.mapProjects) .catch(this.handleError);}
我有一个问题,Angular2两次提出相同的请求.我不知道为什么,因为我只有一次订阅Observable.这是我的代码:
我的服务看起来像这样: getProjects(): Observable<Project[]> { return this.http.get(this.url) .map(this.mapProjects) .catch(this.handleError); } private mapProjects(response: Response): any { const mappedProjects = response.json(); return mappedProjects; } 我的组件看起来像这样: export class ProjectListComponent implements OnInit { // List of projects listProjects: Project[] = []; constructor(private projectListService: ProjectListService) { } public getProjectList() { this.projectListService.getProjects() .subscribe( projects => { this.listProjects = projects; },error => { // error handling }); } } 在Chrome开发者工具的网络标签中,我看到请求是两次,一旦启动器是zone.js,另一次只是说“其他”.谁能解释这种行为?
我认为那是飞行前请求.这些是在实际请求之前做出的.您的预检响应需要确认这些标题才能使实际请求生效.一旦您将此响应发送到预检请求,浏览器就会发出实际请求.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |