私の目標は、ユーザーがボタン送信をクリックしたときにID#username-lと#pwd-lの値をHTMLフォームで使用し、値をSQLデータベース内の値に変換し、その値がデータベース内の値と正確に等しい場合は、指定されたルートにユーザーをルーティングします(今のところ、ユーザーはテスト用に問題ありません)。現在、/にルーティングしていますか?どこにも指定されていないエラーはありません。コンソールは、クエリーがusername = nullとpassword = nullを返すことを示します。 DBには、username = test password =テスト用のシードがあります。どんな助けもありがとう!<Form>を使用して、jQuery、Sequelize、SQLをログインしてルートにする
HTML:
<form id="login-form">
<div class="form-group">
<label for="username-l">Username:</label>
<input type="username" class="form-control" id="username-l" placeholder="Enter username">
</div>
<div class="form-group">
<label for="pwd-l">Password:</label>
<input type="password" class="form-control" id="pwd-l" placeholder="Enter password">
</div>
<button id="login-button" type="submit" class="btn btn-default">Login</button>
</form>
SEQUELIZE:
app.get("/api/users", function(req, res) {
db.User.findAll({
where:
{
username: req.body.username,
password: req.body.password
}
}).then(function(dbUser) {
// res.json(dbUser);
if (req.body.username === dbUser.username && req.body.password === dbUser.password) {
res.redirect("/users");
} else {
console.log("error");
}
});
});
LOGIN.JS:、あなたに、できるだけ多くGET
要求を、すべての
$("#login-button").on('click', function() {
var username = $("#username-l").val().trim();
var password = $("#pwd-l").val().trim();
$.get("/api/users", function(data){
console.log(data);
if (username === data.username && username === data.password) {
reRoute();
} else {
console.log("that does not exist");
}
});
});
function getUser(userData) {
$.get("/api/users", userData).then(reRoute());
}
function reRoute() {
window.location.href = "/users";
}
ご説明いただきありがとうございます。非常に明確で有用です。私は、私が間違いや冗長をどこにしているかを見て理解しています。乾杯! – willking
問題を修正しましたか? – Pritilender
今日のコードを変更し、できるだけ早く確認します – willking