I am currently working on integrating otp functionality into my Ionic 3 project. I am facing an issue where I am able to receive the otp, but it is not redirecting to the otp receive page due to a specific error.
Below is the console error that I am encountering:
ERROR TypeError: alert is not a function at SafeSubscriber._error (home.ts:45) at SafeSubscriber.__tryOrUnsub (Subscriber.js:238) at SafeSubscriber.error (Subscriber.js:197) at Subscriber._error (Subscriber.js:128) at Subscriber.error (Subscriber.js:102) at MapSubscriber._next (map.js:82) at MapSubscriber.Subscriber.next (Subscriber.js:89) at XMLHttpRequest.onLoad (http.js:1556) at t.invokeTask (polyfills.js:3) at Object.onInvokeTask (core.js:4620)
Even though I am successfully receiving the otp, the redirection to the otp receive page is failing because of this error.
Here is my code snippet:
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");
});
}
}
}