我正在使用猫鼬编写简单的注册表单。 我已经使用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/ –