【问题标题】:Angular get string from POST response角度从 POST 响应中获取字符串
【发布时间】:2021-04-18 11:34:29
【问题描述】:

我正在尝试获取字符串“错误。此链接是否来自电子邮件?或者您可能已经使用过您的令牌?”如果请求不正确,则作为响应(我得到的正是这样的响应在邮递员中)或“您已成功更改密码。”如果请求正常,但当我直接从订阅的参数获取时,而不是在我的网站上,我得到 Object 对象,但是当我使用函数时JSON.stringify 然后我得到类似that.

这是我的代码:

  submitFunc() {
    this.data = '';
    if (this.uploadForm.invalid) {
      console.log('Password validation invalid')
      return;
    }
    console.log('Password validation correct')
    const response = this.restapiService.postResetPassword(this.tokenFromUrl, this.uploadForm.controls['password'].value);
    response.subscribe(data => { console.log('a '+JSON.stringify(data)); },
      error => { console.log('b '+JSON.stringify(error)); });
  }

  public postResetPassword(token: string, password: string): Observable<any> {
    const body = {
      'token': token,
      'password': password
    };
    const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');
    return this.http.post<any>('https://jakuwegiel-backend.herokuapp.com/reset_password', body,{headers: headers});
  }

和我在后端的控制器部分

@PostMapping(value = "/reset_password", consumes="application/json")
public String processResetPassword(@RequestBody TokenAndPassword tokenAndPassword) {
    try {
        User user = userService.getByResetPasswordToken(tokenAndPassword.getToken());
        if (user == null) {
            return "message";
        } else {
            userService.updatePassword(user, tokenAndPassword.getPassword());
            System.out.println("You have successfully changed your password.");
        }
    }
    catch (Exception ex) {
        System.out.println("aaaaaaaaaaaaa " +ex.getMessage());
        return "Error. Does this link come from email? Or maybe you have used your token already?";
    }

    return "You have successfully changed your password.";
}

还有什么需要的吗?

【问题讨论】:

  • 如果你 console.log(error.error.text) 怎么办?
  • 像魅力一样工作!如果您将您的消息添加为帖子而不是评论,我会将您的帖子标记为最佳帖子。
  • 如果您可以将其标记为最佳答案,那就太好了(:

标签: java angular spring typescript spring-boot


【解决方案1】:

您需要console.log(error.error.text)。然后你就可以在你的短信中设置这个值了。

【讨论】:

  • console.error 似乎更准确,但 Emilien 是对的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 2017-10-21
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多