#angular #ionic3
#angular #ionic3
Вопрос:
login(credentials) {
return new Promise((resolve, reject) => {
this.http.post(apiUrl 'loginjwt', credentials).subscribe(data => {
this.Storage.set("Access_Token", data['token']);
this.Storage.set("user", data["user"]).then(res => {
this.events.publish('user:loggedin',
{name: data['user']['first_name'] ' ' data['user']['last_name'],
id: data['user']['_id']});
}).catch((err) => {
console.log("failed to store");
console.log(err);
});
}, err => {
reject();
});
});
}
this.authServiceProvider.login(data).then((result) => {
let newdata = {"username": user['email'], "password": newpass1.value};
console.log(newdata);
this.authServiceProvider.update_pass(newdata).then((result) => {
if (result["message"]) alert("Password Update successfully!");
}, (err) => {
alert(err);
return false;
})
},(err) => {
alert("Password is not correct!");
});
чего я хочу добиться, так это предупреждения пользователя о неправильном пароле при сбое входа в систему. Но я также получил предупреждение об ошибке HTTP:
введите описание изображения здесь
как я могу предотвратить отображение http-предупреждения?
Ответ №1:
вы пытались добавить HttpErrorResponse при обнаружении ошибки, что-то вроде приведенного ниже :
this.http.post(apiUrl 'loginjwt', credentials).subscribe(data => {
this.Storage.set("Access_Token", data['token']);
this.Storage.set("user", data["user"]).then(res => {
this.events.publish('user:loggedin',
{name: data['user']['first_name'] ' ' data['user']['last_name'],
id: data['user']['_id']});
}).catch((err) => {
console.log("failed to store");
console.log(err);
});
}, (err : HttpErrorResponse) => {
if (err.status == 400) {
alert("BAD REQUEST!");
} else if (err.status == 401) {
alert("password incorect!");
} else {
console.log(err);
reject();
}
});