警报不是功能错误是控制台

时间:2018-02-02 07:48:38

标签: javascript angular typescript ionic-framework ionic3

我正在将离子3项目中的otp功能集成。当我发送otp时,我收到了otp,但由于此错误,没有重定向到otp接收页面。

以下是控制台错误 发送otp时出现以下错误

  

错误类型错误:警报不是函数       在SafeSubscriber._error(home.ts:45)       在SafeSubscriber .__ tryOrUnsub(Subscriber.js:238)       在SafeSubscriber.error(Subscriber.js:197)       在Subscriber._error(Subscriber.js:128)       在Subscriber.error(Subscriber.js:102)       在MapSubscriber._next(map.js:82)       在MapSubscriber.Subscriber.next(Subscriber.js:89)       在XMLHttpRequest.onLoad(http.js:1556)       at t.invokeTask(polyfills.js:3)       at Object.onInvokeTask(core.js:4620)

我收到了otp,但由于此错误,页面未重定向到otp接收页面

我的代码:

import {Component} from '@angular/core';
import {NavController, Platform, AlertController} from 'ionic-angular';
import {Http, Headers} from '@angular/http';
import 'rxjs/add/operator/map';
import {OtpReceivePage} from '../otp-receive/otp-receive';


@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})
export class HomePage {

    mobile = '';

    constructor(public alertCtrl: AlertController,
                public http: Http,
                public navCtrl: NavController) {
    }

    sendOTP() {
        if (this.mobile.length != 12) {
            let alert = this.alertCtrl.create({
                title: 'Mobile Number Required!',
                subTitle: 'Please enter your 10 digit mobile number with 91 country code!',
                buttons: ['OK']
            });
            alert.present();
        }
        else {
            this.http.get('http://localhost:8080/nexmosms/send-sms.php')
                .map(res => res.json())
                .subscribe(res => {
                    console.log(JSON.stringify(res));
                    this.navCtrl.push(OtpReceivePage, {mobileno: this.mobile})
                }, (err) => {
                    alert("failed");
                });
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您未定义第二个警报

(err) => {  alert("failed");});

你需要像第一个人那样替换它。

let alert = this.alertCtrl.create({
                title: 'failed'
                buttons: ['OK']
            });
            alert.present();

但我再次建议你创建一个函数alert( message:string){},这样你就不会重复代码。