我正在使用Node.js-Express.js-Mongoose應用程序。 我想以html格式(EJS文件)接受用戶詳細信息(姓名和年齡),保存到數據庫(使用貓鼬)在網頁上顯示添加的用戶詳細信息。 我正在使用AJAX。所使用的文件是:無法將數據從前端Javascript插入到使用Mongoose的數據庫中
userview.ejs(包含表單) - >frontend.js(用了jQuery) - >users.js(路由器文件 - 要求定義的add()函數在userController中) - >userController.js(附在下面) - >userService.js(執行數據庫操作)。
究竟發生了什麼是創建一個新用戶,但名稱不顯示。
FRONTEND.js
console.log('Frontend Reached');
$(document).ready(function() {
var url = '/users/delete_user';
var user_url = '/users/add_user';
function load_users(e) {
$.ajax({
url: 'userview.ejs',
dataType: 'text',
type: 'post',
ContentType: 'html',
data: $('#user_form').serialize(),
success: function(data, textStatus, jQxhr) {
console.log(data);
$('#list').html(data);
//$('#user_form').submit(load_users);
},
error: function(jqXhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
e.preventDefault();
}
//添加用戶
$(document).on('click', '.btn btn-success', function(e) {
e.preventDefault();
var user_name = $("#nameinput").val();
var user_age = $("#ageinput").val();
console.log(user_name);
console.log(user_age);
$.ajax({
url: 'userview.ejs',
dataType: 'text',
type: 'post',
ContentType: 'html',
data: {
'user_name': user_name,
'user_age': user_age
},
success: function(data, textStatus, jQxhr) {
console.log(data);
load_users();
},
error: function(jqXhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
e.preventDefault();
}); //onclick
}); //document ready
這是userController.js 在這個文件控制檯日誌顯示該記錄是不確定的。
var User = require('../models/usermodel.js');
var userService = require('../services/userService');
var userController = {
add: function(request, response) {
var user_name = request.body.user_name;
var user_age = request.body.user_age;
console.log(user_name); //SHOWS UNdEFINED
var newUser = new User({
name: user_name,
age: user_age
});
console.log(newUser);
//var userName = request.body.user_name;
//var userAge = request.body.user_age;
userService.add(newUser, function(err, added) {
if (err != null) {
response.send(500);
} else {
response.send(200);
}
});
},
delete: function(request, response) {
var userId = request.body.user_id;
userService.delete(userId, function(err, deleted) {
if (err != null) {
response.send(500);
} else {
response.send(200);
}
});
}
};
module.exports = userController;
什麼錯誤?問題是什麼?應該發生什麼?究竟發生了什麼?這是一個問題,缺乏你的問題。請參閱[mcve](https://stackoverflow.com/help/mcve)以改善您的問題。 –
你是否試圖直接從前端添加數據到mongodb?先生,我無法找到原因!您需要擁有開放(不安全)的數據庫或將憑證存儲在前端(這意味着非常開放的數據庫,因爲您無法在前端隱藏任何內容)。這是不行的。 – Mort
@NeilLunn我已經做了必要的修改。請讓我知道你是否需要別的東西。 –