Angular2获取请求两次

前端之家收集整理的这篇文章主要介绍了Angular2获取请求两次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题,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

猜你在找的Angularjs相关文章