使用JSON
服务器登录表单时遇到问题。我有Username and password
等登录凭据并尝试执行它。我在服务器上使用了POST
,指定了用户插入的用户名和密码。服务器应对指定的条件执行查询,以检查是否存在具有该名称和密码的行。如果是,则返回true,如果false则返回false。那么客户端应该解析这个响应。
这是我的HTML代码:
<form ng-submit="loginform(logcred)" name="logform"><br/><br>
<tr ng-repeat="logcred in loginfo"></tr>
<div>
<label form="emailinput"><b>Email</b></label>
<input type="email" class="form-control" name="uname" id="emailinput" placeholder="you@example.com" ng-model="logcred.username" >
</div>
<div>
<label form="pwdinput"><b>Password</b></label>
<input type="password" class="form-control" name="pwd" id="pwdinput" placeholder="*******" ng-model="logcred.password">
</div>
<div>
<button type="cancel" class="btn" ng-click="toggle_cancel()">Cancel</button>
<button class="btn btn-primary" ng-click="submit()">Login</button>
</div>
</form>
这是使用AngularJS的Javascript代码:
var myApp = angular.module('myApp', []);
myApp.controller('credientials', function($scope, $http) {
$http.get('http://localhost:3000/loginfo')
.then(
function successCallback(response){
$scope.loginfo == response.data;
$scope.loginform = function(loginfo,username,password){
console.log(loginfo);
$http({
url :'http://localhost:3000/loginfo',
method : 'POST',
data : loginfo
})
.then(
function successCallback(response){
$scope.loginfo = response.data;
if (username === username && password === password) {
console.log(response);
}
else
{
console.log("Error: " + response)
}
});
}
});
我正在从我的服务器正确获得响应。但是当我使用POST
条件使用if
请求匹配数据时,我不知道我在做什么错误?
非常感谢任何帮助/建议。
答案 0 :(得分:0)
我不明白你的问题是服务器端还是客户端?
是你的问题if (username === username && password === password) {
console.log(response);
}
您可以使用== insted of ====
答案 1 :(得分:0)
您正在将数据与自身进行比较。
username === username && password === password
应该是
username === $scope.loginfo.username && password === $scope.loginfo.password
但是,任何类型的安全验证都应该在服务器而不是客户端上完成。
另外,你似乎是Angular的新手。让我向您推荐John Papa's Styleguide。