Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 数据库错误消息中未找到电子邮件_Angular_Ionic Framework - Fatal编程技术网

Angular 数据库错误消息中未找到电子邮件

Angular 数据库错误消息中未找到电子邮件,angular,ionic-framework,Angular,Ionic Framework,大家好,我需要你们的帮助。我有一个密码重置表单,如果电子邮件是数据库中带有“成功警报消息”的已注册电子邮件,则会向用户电子邮件发送重置链接,但我注意到未注册的电子邮件仍然显示成功警报消息,而不是错误消息(“未找到用户”)。但当我在邮递员上测试它时,如果电子邮件已注册,它会显示成功警报,如果未注册,它会显示错误警报。我不知道哪里弄错了,下面是我的代码。谢谢 放弃密码。ts async forgetPassword(){ if(this.usernameEmail !==''){ t

大家好,我需要你们的帮助。我有一个密码重置表单,如果电子邮件是数据库中带有“成功警报消息”的已注册电子邮件,则会向用户电子邮件发送重置链接,但我注意到未注册的电子邮件仍然显示成功警报消息,而不是错误消息(“未找到用户”)。但当我在邮递员上测试它时,如果电子邮件已注册,它会显示成功警报,如果未注册,它会显示错误警报。我不知道哪里弄错了,下面是我的代码。谢谢

放弃密码。ts

async forgetPassword(){
   if(this.usernameEmail !==''){

    this.auth.resetPassword(this.usernameEmail).then( (res) =>{

      this.CFS.presentToast('Password reset link has been sent to your registered email. ', 'buttom',3000, 'success');

      this.route.navigate(['/login']);
    },
   (err) => {
      this.CFS.presentToast('Reset password fail, User not found', 'buttom',3000, 'danger');
      console.log(err)
    });
   } else{
    this.CFS.presentToast('Email address is required ', 'buttom',2000, 'danger');
   }

  }
resetPassword(usernameEmail){

  let headers = new HttpHeaders ({
    'Content-Type': 'application/x-www-form-urlencoded'
  });

  this.apiUrl = `${this.siteUrl}/api/forget_password.php?login=${usernameEmail}`;
  console.log('API URL for register a customer: ', this.apiUrl);

  return new Promise ((resolve) => {
    this.http.post(this.apiUrl, {headers}).subscribe((successResp) => {
        resolve(successResp);

    },
    error => {
      resolve(error);  
      console.log('email not found',error) 
    })
  });
}
authservice.ts

async forgetPassword(){
   if(this.usernameEmail !==''){

    this.auth.resetPassword(this.usernameEmail).then( (res) =>{

      this.CFS.presentToast('Password reset link has been sent to your registered email. ', 'buttom',3000, 'success');

      this.route.navigate(['/login']);
    },
   (err) => {
      this.CFS.presentToast('Reset password fail, User not found', 'buttom',3000, 'danger');
      console.log(err)
    });
   } else{
    this.CFS.presentToast('Email address is required ', 'buttom',2000, 'danger');
   }

  }
resetPassword(usernameEmail){

  let headers = new HttpHeaders ({
    'Content-Type': 'application/x-www-form-urlencoded'
  });

  this.apiUrl = `${this.siteUrl}/api/forget_password.php?login=${usernameEmail}`;
  console.log('API URL for register a customer: ', this.apiUrl);

  return new Promise ((resolve) => {
    this.http.post(this.apiUrl, {headers}).subscribe((successResp) => {
        resolve(successResp);

    },
    error => {
      resolve(error);  
      console.log('email not found',error) 
    })
  });
}

你能提供stackblitz吗?试试控制台在forgetPassword的第一行记录这个.username电子邮件吗?你能在控制台上记录吗。记录(成功响应)并共享相关信息?获取始终相同的结果意味着您始终输入subscribe。然后,您可以在订阅中发送成功和不成功结果检查失败响应的状态代码,它不应为200。然后,只有它会进入您的错误块并打印所需的内容。基本上检查您从后端收到的响应的状态代码。这是我的控制台中包含的消息“HttpErrorResponse{headers:HttpHeaders,status:0,statusText:“未知错误”,url:,ok:false,…}”,适用于已注册电子邮件或未注册电子邮件。对于已注册的电子邮件,我收到了一个重置链接