离子3中位置1的JSON中的意外令牌o

时间:2019-11-22 11:58:36

标签: json ionic3 ionic4

我正在开发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();

                }
            );
    });

请帮助我,我感到糊涂了

1 个答案:

答案 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块,因为错误主体似乎不一致。