离子3 - 无法在http请求中创建警报

时间:2018-04-22 03:00:51

标签: http ionic3 cordova-plugins

所以我使用本机HTTP cordova插件来处理我的http请求。但我似乎无法解决我无法在onFail函数中创建警报的问题。还有其他人经历过这个吗?

错误说:

Error in Error callbackId: CordovaHttpPlugin1608257770 : TypeError: Cannot 
read property 'alertCtrl' of undefined

以下是我构建代码的方式:

cordova.plugin.http.sendRequest('http://127.0.0.1:5000/api/login/', options, function(response) {

        try {   //onSuccess
            response.data = JSON.parse(response.data);

            localStorage.setItem('token', JSON.stringify(response.data.token));

          } catch(e) {
            console.error('JSON parsing error');
          }
        },  function(response) {    //onFail
            console.log('403');

            let alert = this.alerts.create({
                title: 'Error',
                subTitle: 'Username/password is invalid!',
                buttons: ['Dismiss']
            });
            alert.present();

        }
    );

这是我的构造函数的样子:

constructor(public navCtrl: NavController,
            private alerts: AlertController, 
            private http: HTTP, 
            private store: Storage, 
            ) {}

导致它不起作用的原因是什么?

1 个答案:

答案 0 :(得分:2)

试试这个,因为当您在请求中创建警报时“this”表示httprequest,因此没有提醒类

accFile.open("credentials.file", ios::out | ios::app);