在Angular中解析字符串期间的HTTP失败

时间:2019-06-25 21:17:02

标签: angular http asp.net-core-webapi

我的Web API方法返回字符串,并且我试图在Angular应用程序中使用该字符串。我使用了招摇工具,并且从Web API方面没有任何问题。它在Swagger中显示字符串

 [HttpPut]
    [Route("UpdateUserStatus")]
    [ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
    public async Task<IActionResult> UpdateUserStatus(User user)
    {
        string userUpdated = await _userService.UpdateUserStatus(user);

        return Ok(userUpdated );
    }

我正在尝试按角度访问此字符串。服务返回这样

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user);
}

 this._service
  .UpdateUserStatus(this.User)
  .subscribe((response: any) => {
    this._notificationService.info(
      response, //this is not working
      'User updated'
    );
  }, (error) => {
    this._rapNotificationService.error(
      'Update Failed. ',
      'Failed'
    );
  });

显示“解析字符串时HTTP错误”错误。

2 个答案:

答案 0 :(得分:0)

您可以指定需要字符串响应而不是json(这是默认设置)

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user,{responseType: 'text'});
}

答案 1 :(得分:0)

尝试像这样使用observe: 'response'

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user, {observe: 'response'});
}