Javascript 我无法发出post请求
我只是一个有棱角的乞丐 我正在尝试使用以下功能发出post请求:Javascript 我无法发出post请求,javascript,angular,angular9,Javascript,Angular,Angular9,我只是一个有棱角的乞丐 我正在尝试使用以下功能发出post请求: signIn(user: User) { console.log("1"); return this.http .post<any>(`${this.endpoint}/login`, user) .subscribe((res: any) => { console.log("2"); localStorage.setItem("acces
signIn(user: User) {
console.log("1");
return this.http
.post<any>(`${this.endpoint}/login`, user)
.subscribe((res: any) => {
console.log("2");
localStorage.setItem("access_token", res.token);
this.getUserProfile(res._id).subscribe(res => {
this.currentUser = res;
this.router.navigate(["user-profile/" + res.msg._id]);
});
});
}
我尝试使用firefox中的网络选项卡监视网络,但发现没有发送任何数据
打开控制台时,显示1,但不显示2
谢谢您需要返回observable并在那里订阅它。现在您正在返回订阅,因此您可能不知道实际何时触发呼叫。还要尽量避免嵌套订阅。您可以使用RxJS高阶运算符,如管道传输多个观测值。试试下面的方法 一些服务 用户:用户:可观察{ 返回this.http.post`${this.endpoint}/login`,user.pipe switchMapuser=>{ localStorage.setItemaccess\u令牌,user.token; 返回此.getUserProfileuser.\u id; } ; } 组成部分 恩戈尼特{ this.someService.signInuser.subscribe res=>{ this.currentUser=res; this.router.navigate[user profile/+res.msg.\u id]; }, 错误=>{ //始终是处理HTTP可观察错误的良好实践 } ; }
您需要返回可观察的并在那里订阅它。现在您正在返回订阅,因此您可能不知道实际何时触发呼叫。还要尽量避免嵌套订阅。您可以使用RxJS高阶运算符,如管道传输多个观测值。试试下面的方法 一些服务 用户:用户:可观察{ 返回this.http.post`${this.endpoint}/login`,user.pipe switchMapuser=>{ localStorage.setItemaccess\u令牌,user.token; 返回此.getUserProfileuser.\u id; } ; } 组成部分 恩戈尼特{ this.someService.signInuser.subscribe res=>{ this.currentUser=res; this.router.navigate[user profile/+res.msg.\u id]; }, 错误=>{ //始终是处理HTTP可观察错误的良好实践 } ; }
你能在网络选项卡中显示请求的屏幕截图吗?/你能在网络选项卡中显示请求的屏幕截图吗?/谢谢你抽出时间,但它似乎不起作用,也许问题来自其他地方,你可以在函数getUserProfile中检查端点是否正确。谢谢你抽出时间,但它似乎不起作用,问题可能来自其他地方,您可以在函数getUserProfile中检查端点是否正确。