代码之家  ›  专栏  ›  技术社区  ›  Manolis Pap

角度6 HttpErrorResponseon POST,状态为200

  •  0
  • Manolis Pap  · 技术社区  · 7 年前

    使用Angular 6客户端,我可以访问 http://localhost:8082/login 发送 username password 这就是错误所在 enter image description here error: 这是我想要的令牌。

    这是它在邮递员身上的样子 enter image description here

    这是我在Angular上使用的函数,用于获取具有给定用户名和密码的令牌

    validateUser(user:User){
    
    
        var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });
    
    
    
        return this.httpClient.post<User>(this.apiURL + '/login',user,{headers:reqHeader});
      }
    

    toPromise() 但我有更多的错误。

    1 回复  |  直到 7 年前
        1
  •  18
  •   GreyBeardedGeek    7 年前

    默认情况下,HttpClient尝试将HTTP响应的主体解析为JSON。 由于您接收的响应正文是纯文本,例如“Bearer…”,而不是JSON,因此JSON解析失败。

    您需要告诉HttpClient希望得到纯文本响应,如下所示:

    this.httpClient.post(this.apiURL + '/login', user, {headers:reqHeader, responseType: 'text'});
    

    还要注意的是,由于响应是一个字符串,所以不应该尝试将其强制转换给用户(不要执行 <User>

        2
  •  0
  •   Nkwe Justice Mapoulo    5 年前

    }

    推荐文章