javascript - 如何检查来自 HTTP 调用的响应状态

标签 javascript angular

如果状态代码为 200 或响应为真,我将尝试导航到下一页。但是在 response.status 中变得不确定。如果我只记录响应,我会得到

{success: true, message: "login successful"}

以下代码在控制台日志中未定义。我是 Angular 的初学者,没有使用任何服务。

goToHome() {
    console.log(this.login);
    this.Http.post('http://localhost:3000/users/login', this.login).subscribe((response: Response) => {
      console.log(response.status);
      // if (resp.status === 200) {
      //   this.navCtrl.push(TabsPage);
      // } else {
      //   const toast = this.toastController.create({
      //     message: 'User not found please try again',
      //     duration: 2000
      //   });
      //   toast.present();
      // }
    })
  }

最佳答案

您应该为您的请求添加选项,并设置 observe: 'response' 以阅读完整的响应。

this.Http.post('http://localhost:3000/users/login', this.login, { observe: 'response' })
    .subscribe((response) => {
        console.log(response.status);
    })

文档中的更多信息:Reading the full response

关于javascript - 如何检查来自 HTTP 调用的响应状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54361823/

相关文章:

javascript - polyfill.io 和 core-js 有什么区别?

Angular Material 2 按钮切换默认选中

Angular Looped HTTP 请求将值映射到响应

javascript - 当窗口宽度小于1025时更改类

javascript - Angular 'FileConstructor is not a constructor'

angular - FxFlex Calc 设置最小高度,而原始值设置最大高度

angular - 组件调用多个API时只调用一次拦截器

javascript - 使用 Web 服务没有响应?

JavaScript 堆内存不足 (Nodejs)

javascript - 水平切换下拉菜单