У меня проблема, когда Angular2 делает тот же запрос дважды. Я не знаю, почему, хотя, потому что у меня есть только один раз подписка на Observable. Вот мой код:Angular2 Получить запрос делается дважды
Моя служба выглядит следующим образом:
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
});
}
}
На вкладке сеть Developer Tools Chrome я вижу запрос сделан два раза, когда инициатором является zone.js, в другой раз он просто говорит «Другое». Может ли кто-нибудь объяснить это поведение?
То, что вы описываете, похоже на предпродажный запрос, сделанный браузером не угловатым. [проверьте этот вопрос] (http://stackoverflow.com/questions/1256593/why-am-i-getting-an-options-request-instead-of-a-get-request). Чтобы проверить, является ли это предпродажным запросом, метод первого запроса будет «ОПЦИИ», второй будет «хорошим» комментарием «GET» – Abdulrahman
- это два запроса GET или запрос OPTIONS, за которым следует запрос GET, если последний, тогда abdul верен, хотя im не уверен, что запросы GET выполняют предполетные запросы?! * – danday74
Это не запрос OPTIONS, это дважды запрос GET. –