私はmongooseを使用して簡単な登録フォームをコーディングしています。 私は、登録フォームの値を処理するためにjavascriptファイルを使用しています。私はVAR User = require('/models/Mongoose Database/user_database');
は、すべてのチェックがonclickの関数内正常に動作しているときに、コメントmongooseモデルを使用できません
は、ここに私の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;
//})
});
}
}
}
です。しかしコメントを外すと、ボタンのクリックを認識していません。
これは、登録ページから値を取得し、それらをmongooseデータベースに保存する正しい方法かどうかを知りたいと思います。
あなたはサーバーとクライアントのコードを混在させていませんか?あなたのモデルはクライアントからアクセスできないようにすべきです。あなたのdbサーバー側を変更するためのREST APIを作成してください – xShirase
@ num8er私たちはすべて初心者でしたが、それについては笑わないでください – xShirase
@xShiraseはそれを指摘してくれてありがとうございます。だから私は最初にapiを作ることについて学ばなければならない。このようなもの ? –