【问题标题】:How to do error handling in post http in angular 4?如何在 Angular 4 中的 post http 中进行错误处理?
【发布时间】:2018-09-23 11:38:00
【问题描述】:

我正在尝试在用户关闭窗口时进行此帖子调用。

createCallRecord (data) {
        let logData = {"chathist" : data , "uid": "1111" };
        let headers = new HttpHeaders();
        headers = headers.set("Content-Type", "application/json");
        let options = { headers: headers };
        return this.http.post(MY_URL, logData, options).subscribe(res => alert(res));
}

由于是在用户关闭窗口时调用的,所以我不知道它是否发布成功。

发布成功或错误如何处理?

目前,它不会发出任何警报。

任何帮助将不胜感激!

【问题讨论】:

标签: angular http post angular-http


【解决方案1】:

你可以这样处理错误:

createCallRecord (data) {
    let logData = {"chathist" : data , "uid": "1111" };
    let headers = new HttpHeaders();
    headers = headers.set("Content-Type", "application/json");
    let options = { headers: headers };
    return this.http.post(MY_URL, logData, options)
        .subscribe(result =>
        {
          let value = result.json();
          console.log(JSON.stringify(value));
        }, err => { console.log(err); });

另一种选择是以这种方式使用处理函数:

createCallRecord (data) {
    let logData = {"chathist" : data , "uid": "1111" };
    let headers = new HttpHeaders();
    headers = headers.set("Content-Type", "application/json");
    let options = { headers: headers };
    return this.http.post(MY_URL, logData, options)
        .subscribe(res => this.resultHadler(res), err => this.errorHandler(err));
}

private resultHadler(res: any)
{
    let value = res.json();
    console.log(JSON.stringify(value));
}

private errorHandler(err: any)
{
    console.log(err);
}

【讨论】:

  • 我已经更新了原代码。我试过了,我的解决方案现在可以正常工作了。
猜你喜欢
  • 1970-01-01
  • 2018-11-30
  • 2015-09-10
  • 1970-01-01
  • 2017-12-09
  • 2020-05-22
  • 2012-11-16
  • 2016-07-12
  • 2017-12-16
相关资源
最近更新 更多