我有一个角度2的应用程序,我的服务中有一个方法,它调用Web服务器两次,它应该调用一次。
在session.service.ts
中createSession(name: string): void {
this._sessionService.createSession(name).subscribe(
() => this.RedirectToSessionPage(),
() => this.ShowError()
);
并在组件中
.nav-category
}
我一直在阅读并尝试添加.publish()。refCount()和.share(),但仍然要去服务器两次。有人知道怎么解决吗?
答案 0 :(得分:0)
正如@jonrsharpe所提到的,听起来你正在看到预检OPTIONS请求,然后是后续的POST。 从远程服务器访问数据时使用预检(与角度2前端不同的服务器)。并确定协商如何访问服务器以进行跨源请求。 (CORS)
检查这是否正在进行的最简单方法是使用您使用的任何浏览器的开发者工具(对于Chrome,请按F12导航到“网络”选项卡并观看您的http请求)。
这应该会告诉你它是OPTIONS然后POST(CORS)还是你确实两次进行相同的调用(在这种情况下可能需要一个plunkr!)
希望有所帮助,对不起,如果这很明显!