Timeout alert displayed with no log errors

I tried to do a login & register page. After click on the register button, timeout alert error shown but there are no log errors. Although the timeout alert is shown,the data I used to register is successfully saved in MYSQL database
image
image
database:

register.page.ts

import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { ToastController, LoadingController, AlertController } from '@ionic/angular';
import { AccessProviders } from '../providers/access-providers';

@Component({
  selector: 'app-register',
  templateUrl: './register.page.html',
  styleUrls: ['./register.page.scss'],
})
export class RegisterPage implements OnInit {

  u_name          : string = "";
  u_email_address : string = "";
  u_password      : string = "";
  u_confirm_password : string = "";

  disabledButton;

  constructor(
    private router : Router,
    private toastCtrl : ToastController,
    private loadingCtrl : LoadingController,
    private alertCtrl : AlertController,
    private accsPrvds: AccessProviders
  ) { }

  ngOnInit() {
  }

  ionViewDidEnter(){
    this.disabledButton = false;
  }

  async tryRegister(){
    if(this.u_name == ""){
      this.presentToast('Name is required');
    }else if(this.u_email_address == ""){
      this.presentToast('Email is required');
    }else if(this.u_password == ""){
      this.presentToast('Password is required');
    }else if(this.u_confirm_password != this.u_password){
      this.presentToast('Password are not the same');
    }else{
      this.disabledButton = true;
      const loader = await this.loadingCtrl.create({
        message: 'Please wait a moment...',
      });
      loader.present();

      return new Promise(resolve =>{
        let body = {
          aksi: 'proses_register',
          u_name: this.u_name,
          u_email_address: this.u_email_address,
          u_password: this.u_password
        }

        this.accsPrvds.postData(body, 'proses_api.php').subscribe((res:any)=>{
          if(res.success==true){
            loader.dismiss();
            this.disabledButton = false;
            this.presentToast(res.msg);
            this.router.navigate(['/login']);
          }else{
            loader.dismiss();
            this.disabledButton = false;
            this.presentToast(res.msg);
          }
        },(err)=>{
          loader.dismiss();
          this.disabledButton = false;
          this.presentAlert('Timeout');
        });
      });
    }
  }

  async presentToast(a){
    const toast = await this.toastCtrl.create({
      message : a,
      duration: 1500,
      position: 'top'
    });
    toast.present();
  }

  async presentAlert(a){
    const alert = await this.alertCtrl.create({
      header: a,
      backdropDismiss: false,
      buttons: [
      {
        text: 'Close',
        handler: (blah) => {
          console.log('Confirm Cancel: blah');
          //action
        }
      }, {
          text: 'Try Again',
          handler: () => {
            this.tryRegister();
          }
        }
      ]
    });
    await alert.present();
  }
}

proses_api.php

<?php

    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE,OPTIONS");
    header("Access-Control-Allow-Headers: Origin, Content-Type, Authorization, Accept, X-Requested-With, x-xsrf-token");
    header("Content-Type: application/json; charset=UTF-8");

    include "config.php";

    $postjson = json_decode(file_get_contents('php://input'), true);
    $today = date('Y-m-d H:i:s');

    if($postjson['aksi']=="proses_register"){

        $checkemail = mysqli_fetch_array(mysqli_query($mysqli,
        "SELECT u_email_address FROM user_info WHERE u_email_address='$postjson[u_email_address]'"));

        if ($checkemail['u_email_address']==$postjson['u_email_address']){
            $result = json_encode(array('success'=>false, 'msg'=>'Email address is already registered'));
        }else{
            $password = md5($postjson['password']);

            $insert = mysqli_query($mysqli, "INSERT INTO user_info SET
                u_name          = '$postjson[u_name]',
                u_email_address = '$postjson[u_email_address]',
                u_password      = '$password',
                u_createdon     = '$today'
            ");

            if($insert){
                $result = json_encode(array('success'=>true, 'msg'=>'Register successful'));
            }else{
                $result = json_encode(array('success'=>false, 'msg'=>'Register failed'));
            }
        }
        echo $result;

    }

    else if($postjson['aksi']=="proses_login")
    {
        $password = md5($postjson['password']);
        $logindata = mysqli_fetch_array(mysqli_query($mysqli,
        "SELECT * FROM user_info WHERE u_email_address='$postjson[u_email_address]' AND u_password='$u_password"));

        $data = array(
            'u_id'          => $logindata['u_id'],
            'u_name'          => $logindata['u_name'],
            'u_email_address' => $logindata['u_email_address'],
        );

        if($logindata){
            $result = json_encode(array('success'=>true, 'result'=>$data));
        }else{
            $result = json_encode(array('success'=>false));
        }

    echo $result;

    }
?>

I can’t really find errors in this code, anyone knows how solve this or find anything I have missed. Let me know if you need to see others code