【发布时间】:2018-06-15 11:01:16
【问题描述】:
我正在研究离子应用程序中的身份验证部分。移动应用程序连接到包含登录功能并返回用户文凭列表的 Spring Boot 应用程序。 我将在移动应用程序中使用此信息,因此我必须检查提供程序函数是否返回一个不为空的列表。 提供程序功能完美运行,但我不知道如何在组件中返回列表。 这是 loginProvider:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable()
export class LoginProvider {
constructor(public http: HttpClient) { }
public url = "http://localhost:8080/";
login(user: any) {
return this.http.post(this.url+'user/loginEmp',user)
.subscribe((res: Response ) => console.log(res));
}
}
这是登录页面:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { TabsPage } from '../tabs/tabs';
import { Md5 } from 'ts-md5/dist/md5';
import { LoginProvider } from '../../providers/login/login';
import 'rxjs/add/operator/toPromise';
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
authForm: FormGroup;
showError: boolean = false;
loginError: string;
constructor(public nav: NavController,
public navParams: NavParams,
public formBuilder: FormBuilder,
private loginProvider : LoginProvider) {
this.authForm = formBuilder.group({
'email': ['', Validators.compose([Validators.required,Validators.email])],
'password': ['', Validators.compose([Validators.required, Validators.minLength(6)])]
});
}
onSubmit(login:any) {
let user: any = {
"email": login['email'].trim(),
"password" : Md5.hashStr(login['password']).toString()
};
this.loginProvider.login(user).subscribe((response)=> {
console.log(response)
if(!this.isEmpty(response)){
sessionStorage.setItem("CurrentUser", JSON.stringify(response));
this.nav.push(TabsPage);
}else{
this.showError = true;
}
});
}
// this function return true if the object in argument is empty
isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}
}
在控制台中我得到了列表,但“console.log(response)”显示“未定义”
【问题讨论】:
标签: typescript ionic-framework