AngularJS用户登录到Json文件
Posted
技术标签:
【中文标题】AngularJS用户登录到Json文件【英文标题】:AngularJS User Login to Json file 【发布时间】:2017-08-14 16:42:31 【问题描述】:我目前正在尝试创建一个用户登录页面,其中用户信息存储在 json 文件中。我已经为文件创建了 GET 方法,但在用户成功登录后我似乎无法重定向。你能帮帮我吗?
我知道在客户端完成的用户登录和验证是一个坏主意,但这就是我想要的方式,而不使用数据库。
这是我的 html 代码:
<body ng-controller="myCtrl">
<form id="login-form">
<h3>User Login</h3>
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<button type="submit" class="btn btn-default" id="login-button" ng-click="LogOn()">Login</button>
</form>
</body>
我的 javascript 代码:
var app = angular.module('myApp', [ ]);
app.controller("myCtrl",['$scope', '$http', function($scope, $http)
$scope.LogOn = function()
$http.get('data.json').then(function(data)
$scope.users = data;
);
if (data.email == email) && (data.password = password
window.location.href = 'www.google.com';
;
]);
我的 JSON 文件:
[
"email":"something@yahoo.com",
"Password":"password"
,
"email":"test@yahoo.com",
"password":"test999"
,
"email":"xxx@mail.xx",
"password":"xxx"
]
【问题讨论】:
你可能想看看 ngRoute 或 ui.router。 【参考方案1】:显然if
波纹管必须在.then(
回调中
if (data.email == email && data.password == password)
window.location.href = 'www.google.com';
【讨论】:
Uncaught ReferenceError: Invalid left-hand side in assignment -if (data.email == email) && (data.password = password)
是的,但是首先检查代码是否运行是给出实际工作答案的重要部分。谢谢你的努力'【参考方案2】:
然后把重定向代码放在里面
$http.get('data.json').then(function(data)
$scope.users = data;
if (data.email == email && data.password == password)
window.location.href = 'www.google.com';
);
【讨论】:
您正在将一组数据与两个字符串进行比较。如果您希望能够进入您的 if 堆栈,则需要循环用户并匹配每个用户和密码。【参考方案3】:请尝试打开链接并检查并运行部署在 w3 学校的代码 https://www.w3schools.com/code/tryit.asp?filename=FDVZY3NXVYG6
【讨论】:
以上是关于AngularJS用户登录到Json文件的主要内容,如果未能解决你的问题,请参考以下文章
如何获取登录用户 SpringSecurity + AngularJS 的用户信息
使用 Cordova 和 Angularjs 登录 Twitter:401 未经授权的错误