【发布时间】:2018-04-04 08:50:58
【问题描述】:
我有一个服务调用,当它返回 404 错误时,我想在状态为 404 时显示来自服务器的消息。因此,如果发生错误或成功,我会得到一个 post json我一个状态代码和消息,指示它是否成功。
目前,我有这个服务电话:
this._transactionService.findExistingTransaction(user, searchNumber)
.subscribe(data => {
this.transactionResponse = data;
console.log(JSON.stringify(this.transactionResponse));
this.router.navigate(['/edit-transaction-portal'], {queryParams: {bill: searchNumber}});
this.onDismiss();
}, (err) => { this.displayErrors = true;});
发生错误时,它将设置 bool displayErrors = true,然后我可以在我的 UI 中显示错误消息。
在html代码中:
<input #inputtedNumber class="transactionInput" placeholder="{{numberPlaceholder | translate }}"/>
<div class="error-msg1" *ngIf="displayErrors" style="margin-left:90px;" name="errorMsg">
{{transactionResponse._errorDetails._message}} </div>
这是当我直接尝试访问 api 端点时返回的 json:
{
"_transactionNumber":null,
"_order":null,
"_errorDetails":{
"_status":"404",
"_message":"Number is not available"
}
}
我绑定到从服务调用返回的 transactionResponse 对象。不幸的是,尽管我相信这应该可行,但我得到了 _errorDetails 未定义的问题,因此什么也没有出现。
我想知道这样的设置是否正确?如果现在,我该如何解决?
谢谢!
编辑:重复的 SO 帖子没有答案:How to read Custom error message from backend in Angular 4/2
【问题讨论】:
-
为您的问题创建 StackBlitz 示例
标签: javascript angular typescript