Angular 6,如何在组件中获取http客户端请求的响应代码

时间:2018-09-16 18:25:03

标签: angular angular6 httpresponse angular-httpclient

在将响应归类为角度分量内的错误或正确数据时,我遇到了问题。

在组件内部,我正在使用subscribe()

调用服务
this.customerService.resolveAndUpdateIssue(message, this.issue.feedbackDomain.id, true)
    .subscribe(
      data => {
        console.log('Updated');
      },
      error => {
        console.log('Error occured');
      }
    );

当响应的状态代码不是error时,我要转到200。我该怎么办?

我的回应是:

ERROR HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost:9090/yaana/feedback/resolve/issue?feedbackId=100001&resolve=true&message=", ok: false, …}error: {error: SyntaxError: Unexpected token I in JSON at position 0
    at JSON.parse (<anonymous>)
    at XMLHttp…, text: "Issue resolved succesfully"}error: SyntaxError: Unexpected token I in JSON at position 0
    at JSON.parse (<anonymous>)
    at XMLHttpRequest.onLoad 

实际上,服务器执行的是正确的工作,但是我的http响应是错误响应,我知道我错了,但是如何解决呢? 还有如何从上述回复中获取状态代码。

我当前的代码: 1.服务:

  const httpOptionsWithResponse = {
      headers: new HttpHeaders({
        'Content-Type': 'application/json',
        observe: 'response' as 'response'
      })
    };

     myfuntion(listofarguments) {
     return this.http.put<any>(updateFeedbackUrl, httpOptionsWithResponse);
 }

我的组件是:

this.customerIssueService.resolveAndUpdateIssue(message, this.issue.feedbackDomain.id, true)
    .subscribe(
      // how to get the status code here?
    );

我可以检查data.statuscode还是error.statuscode吗?

如果我错了,请帮助我

0 个答案:

没有答案