我的Ionic 3应用程序向Rails后端发出HTTP请求。如果请求成功,则应用程序将执行其应做的一切,并且在出现错误时,API会返回并显示HTTP错误代码和JSON错误消息。
我希望我的应用以一种很好的方式向用户显示错误消息,而不是JSON。
error => {
let alert = this.alertCtrl.create({
title: 'Algo não deu certo...',
subTitle: error.text(),
buttons: ['OK']
});
结果是:
我想格式化它。我知道我可以遍历所有项目并显示它们,但我想知道是否有更简单的方法/更少的代码来完成这项工作。
答案 0 :(得分:1)
如果我很好理解,您需要类似的东西
const error = {
"from": ["can't be blank"],
"to": ["can't be blank"],
"passenger": ["must exist"],
};
const errorMessage = Object.keys(error).reduce((acc, cur) => `${acc} ${cur} ${error[cur]}`, '').slice(1);
console.log(errorMessage);
这是Array#Reduce
的基本示例。
这是另一个带有格式化文本的示例:
const error = {
"from": ["can't be blank"],
"to": ["can't be blank"],
"passenger": ["must exist"],
};
const errorMessage = Object.keys(error).reduce((acc, cur) => `${acc} ${cur.charAt(0).toUpperCase()}${cur.slice(1)}: ${error[cur]}!`, "").slice(1);
console.log(errorMessage);
答案 1 :(得分:0)
由于错误仅在返回错误时才会执行,因此您可以通过以下文本形式给出错误消息:
error => {
let alert = this.alertCtrl.create({
title: 'Algo não deu certo...',
subTitle: 'Your error Message',
buttons: ['OK']
});