J'obtiens donc cette erreur: Argument de type '{"username:": string; "mot de passe": chaîne; } 'n'est pas assignable au paramètre de type' string '
Mon code:
export class AuthloginService {
private API_URL: 'https://myapi.com/api';
constructor(public http: HttpClient) { }
logarConta(email: string, password:string){
return new Promise((resolve, reject) =>{
var data = {
name: name,
email: email,
password: password,
message: 'Test',
};
this.http.post(this.API_URL + 'login', data)
.subscribe((result: any) =>{
resolve(result.json())
},
(message) =>{
reject(message.json())
})
});
EDIT1: AuthloginService avec la fonction logarConta:
export class LoginPage implements OnInit {
responseData : any;
userData = {"username:":"", "password":""};
constructor(private menu: MenuController, private authloginService: AuthloginService, public navCtrl : NavController ) {
}
fazerLogin(){
this.authloginService.logarConta(this.userData, 'login').then((result)=>{ // error here
this.responseData = result;
console.log(this.responseData);
this.navCtrl.navigateForward('home')
});
3 Réponses :
Cela devrait être:
this.authloginService.logarConta(this.userData.username, this.userData.password)
.then((result)=>{
this.responseData = result;
console.log(this.responseData);
this.navCtrl.navigateForward('home')
});
Mais, je ne suis pas sûr que cette méthode logarConta soit bonne. Parce que vous avez là un argument email et que votre userData = {"username:": "", "password": ""}; n'a pas de clé de messagerie. Vous devriez vérifier si cette approche est correcte.
Super merci pour le partage. Le problème est que vous avez un objet userData qui a 2 propriétés de chaîne nom d'utilisateur et mot de passe. Votre fonction logarConta attend 2 variables de chaîne email et mot de passe, mais vous ne passez qu'un objet. Vous pouvez résoudre ce problème en modifiant votre appel pour qu'il ressemble à ceci:
this.authloginService.logarConta(this.userData.username, this.userdata.password).then((result)=>{ // error here
this.responseData = result;
console.log(this.responseData);
this.navCtrl.navigateForward('home')
});
Cela mappera correctement les propriétés de l'objet aux variables attendues par la fonction.
Merci pour la réponse!
this.authloginService.logarConta(...this.userData, 'login')
Bonjour, pourriez-vous nous partager la définition de votre fonction AuthloginService.logarConta?
le premier argument de
authLoginService.logarConta ()est une chaîne et non un objet@JohnGraham vient de modifier