我正在使用貓鼬編寫簡單的註冊表單。 我已經使用JavaScript文件來處理註冊表單的值。無法使用貓鼬模型
這裏是我的registrationButtonAction.js
window.onload = function() {
var User = require('/models/Mongoose Database/user_database');
// this line is causing the problem
var registerButton = document.getElementById("registerMe");
var firstName = document.getElementById("firstName");
var lastName = document.getElementById("lastName");
var usernameRegister = document.getElementById("usernameRegister");
var passwordRegister = document.getElementById("passwordRegister");
var repasswordRegister = document.getElementById("repasswordRegister");
registerButton.onclick = function() {
if(!firstName.value || !passwordRegister.value || !repasswordRegister.value || !usernameRegister.value){
alert("Enter all required fields");
}else if (passwordRegister.value != repasswordRegister.value){
alert("Passwords must match");
}else {
var newUser = new User({
username : usernameRegister.value,
password : passwordRegister.value
});
User.find({username:usernameRegister.value}, function (error, user) {
if (error) throw error;
if(user){
window.location("/register");
}else {
newUser.save(function (error) {
if(error) throw error;
});
window.location("/login");
}
// user.comparePassword(passwordRegister.value, function (error, isMatch) {
// if (error) throw error;
//
// return 1;
//})
});
}
}
}
當我評論了var User = require('/models/Mongoose Database/user_database');
,所有檢查的onclick函數內部做工精細。但是當我取消註釋時,它不會識別按鈕點擊。
我想知道這是否是從註冊頁面獲取值並將它們存儲在貓鼬數據庫中的正確方法。
是不是混合服務器和客戶端代碼?您的模型不應該從客戶端訪問。創建一個REST API來修改你的數據庫服務器端 – xShirase
@ num8er我們都是初學者,沒有什麼可笑的 – xShirase
@xShirase謝謝你指出。所以我必須先學習如何製作api。像這樣? https://hackhands.com/mongodb-crud-mvc-way-with-passport-authentication/ –