Javascript 我无法发出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

我只是一个有棱角的乞丐

我正在尝试使用以下功能发出post请求:

 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中检查端点是否正确。