我正在开发ionic 3应用程序。当我在浏览器上运行它时,它工作正常,但是当我以apk或在移动设备上运行时,出现错误“ JSON中位置1处的意外令牌o”,如截图https://prnt.sc/q0jxlf所示。我不知道为什么它会在apk中发生,而它却可以在浏览器中轻松运行。这是我的代码
register(user)
{
return new Promise(resolve => {debugger;
this.http.post(global.apiUrl + "register", user.value)
// .map(res => res.json())
.subscribe(data => {debugger;
this.data = data;
resolve(this.data);
},error =>{debugger;
let jsonE = JSON.parse(error._body);
let alert = this.alertCtrl.create({
title: 'Error!',
subTitle:jsonE.error,
buttons: ['OK']
});
alert.present();
}
);
});
请帮助我,我感到糊涂了
答案 0 :(得分:0)
我实际上有一个与此类似的问题,看来我确实解决了该问题。有角度的Http客户端返回一个错误对象,其中包括and错误和消息属性。我使用这些错误向用户显示错误,但是在提交期间提交超时或断开连接的情况下,我的后端会吐出另一个未被Http客户端捕获的错误。
error =>{debugger;
let jsonE = 'Uncaught Error!';
if(error._body != undefined){
let err = JSON.parse(error._body);
jsonE = err.error
}
let alert = this.alertCtrl.create({
title: 'Error!',
subTitle: jsonE,
buttons: ['OK']
});
alert.present();
}
我可能会尝试在错误处理中添加一个try,catch块,因为错误主体似乎不一致。