Здравствуйте, я использую функцию, очень похожую на эту, с небольшими изменениями. https://play.nativescript.org/?template=play-vue&id=HdDm9M&v=786
Когда я вхожу в свой API api, если я ввожу неправильное имя пользователя или пароль, он всегда возвращает true(войдя в систему).
Он должен выполнить блок catch
, когда мое имя пользователя или пароль неверны, но он этого не делает.Я имел эту проблему раньше и исправил ее, но теперь я не могу понять, почему это происходит.
В моем Login.vue
login() {
this.$backend
.login(this.user)
.then(() => {
// if login success then save login and password in local storage
appSettings.setString("username", this.user.username);
appSettings.setString("password", this.user.password);
this.$store.commit('setActualPage', 'Main');
this.processing = false;
this.$navigateTo(Main, { clearHistory: true });
})
.catch(() => {
this.processing = false;
this.alert(
"Username or password are not correct."
);
});
},
и моем backend-service.js
login(user) {
return httpModule.request({
url: "MYRESTAPIURL",
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"username": user.username,
"password": user.password,
"apikey": "814973593645gg6db8ca6983789f"
}
}).then((response) => {
let result = response.content.toJSON();
return result;
//console.log(result.premiumdays)
}, (e) => {
console.log(e);
});
}
Этот return result;
дает вывод ниже, если это неправильный пользователь или пароль:
{ error: 'Not connected.' }
Даже если я введу return;
, чтобы вернуть false
, он регистрирует меня.