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