Javascript 如何在Angular 4中登录?
我是新来的。可能这个问题很简单,但我无法登录时,我试图登录表单按钮点击 在Javascript 如何在Angular 4中登录?,javascript,angular,http,Javascript,Angular,Http,我是新来的。可能这个问题很简单,但我无法登录时,我试图登录表单按钮点击 在ngOnInit()内部调用时,我可以从getAdmin()获取数据。下面是代码 WebService类 getAdmin() { return this.http.get('http://localhost:3000/admin/1') .map(res => res.json()); } 当我从登录按钮单击调用下面的方法时,我无法获取数据并导航到主页页面 登录组件 loginUser(e)
ngOnInit()
内部调用时,我可以从getAdmin()
获取数据。下面是代码
WebService类
getAdmin() {
return this.http.get('http://localhost:3000/admin/1')
.map(res => res.json());
}
当我从登录按钮单击调用下面的方法时,我无法获取数据并导航到主页
页面
登录组件
loginUser(e){
var username = e.target.elements[0].value;
var password = e.target.elements[1].value;
console.log(username, password);
this.web.getAdmin().subscribe((admin) => {
console.log(admin);
this.admin = admin;
if(username == this.admin[0].Username && password == this.admin[0].Password) {
localStorage.setItem('currentUser', JSON.stringify(this.admin[0].Username));
this.router.navigate(["home"]);
}
});
}
如果登录失败,我将被重定向到http://localhost:4200/?uname=admin&psw=admin
在日志中,我得到了
XHR加载失败:获取“”
导航到
调试代码会将我抛出方法,日志中不会出现任何错误。使用
ngSubmit
事件而不是submit
submit
将在点击submit
按钮时执行默认表单发布,其中asngSubmit
阻止页面post back
并抑制实际表单发布
<form (ngSubmit) = "loginUser($event)">
使用
ngSubmit
事件而不是submit
submit
将在点击submit
按钮时执行默认表单发布,其中asngSubmit
阻止页面post back
并抑制实际表单发布
<form (ngSubmit) = "loginUser($event)">
如何调用登录用户
方法?表单提交还是锚定点击?首先,出于安全原因,您应该向服务器发送一篇帖子,帖子正文中包含密码。然后,你必须在服务器端检查用户名和密码是否匹配,如果匹配,你必须向你的angular应用程序发送一个答案,用户在里面。通过这种方式,您只需检查用户是否在场。@PankajParkar,使用
@BenjaminLucidarme,我也将尝试您的方法。同时,请建议是否有上述方法的解决方案。谢谢您的评论。@Tauqir请尝试下面的建议如何调用loginUser
方法?表单提交还是锚定点击?首先,出于安全原因,您应该向服务器发送一篇帖子,帖子正文中包含密码。然后,你必须在服务器端检查用户名和密码是否匹配,如果匹配,你必须向你的angular应用程序发送一个答案,用户在里面。通过这种方式,您只需检查用户是否在场。@PankajParkar,使用
@BenjaminLucidarme,我也将尝试您的方法。同时,请建议是否有上述方法的解决方案。谢谢您的评论。@Tauqir请尝试下面的建议我正在获取XHR加载失败:POST”http://localhost:4200/sockjs-节点/503/eov5vc30/xhr_流式传输?t=1502527731843”。导航到http://localhost:4200/?uname=admin&psw=admin XHR已完成加载:获取“http://localhost:4200/sockjs-node/info?t=1502527765786“
非常感谢。我现在可以登录了。我在“@angular/forms”中缺少import{FormsModule}代码>和导入:[BrowserModule,FormsModule,HttpModule],在app.module.ts
侧,我得到XHR加载失败:POST”http://localhost:4200/sockjs-节点/503/eov5vc30/xhr_流式传输?t=1502527731843”。导航到http://localhost:4200/?uname=admin&psw=admin XHR已完成加载:获取“http://localhost:4200/sockjs-node/info?t=1502527765786“
非常感谢。我现在可以登录了。我在“@angular/forms”中缺少import{FormsModule}代码>和导入:[BrowserModule,FormsModule,HttpModule],在app.module.ts侧