我对编码很新,我正在使用angularJS,NodeJS和ExpressJS构建应用程序。我遇到了一个问题,试图验证数据库中是否找到输入值,如果是,则允许访问新视图。
我可以获得服务的价值,我可以在控制台登录时看到该值,但之后我就迷失了。
我正在努力学习验证,这就是我这样做的原因。 任何帮助将不胜感激
这是我的代码
HTML
<form ng-submit='adminPermission(secret_key)'>
<div class="login-form-username-container">
<div class="login-form-username-text">Please see owner for key</div>
<input id="username-input" class="form-control" type="text" ng-model="secret_key" placeholder="Secret Key" required>
</div>
<div class="check-submit-login">
<button id="button-text" type="submit"><strong>Check</strong></button>
</div>
<div class="back-button-admin" ui-sref="login">Or go back</div>
</form>
控制器
$scope.adminPermission = function (secret_key) {
adminService.adminPermission(secret_key)
.then(function (response) {
if (!response.data) {
console.warn("Unable to get creds");
} else{
$state.go('newadmin');
}
});
};
服务
this.adminPermission = (secret_key) => {
console.log(secret_key);
return $http({
method: 'POST',
url: '/admin-permission/' + secret_key,
}).then((response) => {
console.log(response);
return response;
});
};
这是我迷失的地方。我在IndexJS中设置了端点,但我对如何在TrainerCtrl中设置逻辑以检查验证感到迷失
IndexJS
app.post('/admin-permission/:secret_key', trainerCtrl.adminPermission);
TrainerCtrl
adminPermission: (req, res) => {
app.get('db').get_secret_key([]).then(response => {
const user = response;
console.log("success")
res.status(200).send(response)
}).catch(err => console.log(err))
},
SQL
select * from secret_key
where secret_key = $1;
如何验证名为secret_key的表单发送的值是否与数据库中的值匹配?