Javascript 如何在Node.js中声明和使用AJAX数据?
例如,我有AJAX脚本:Javascript 如何在Node.js中声明和使用AJAX数据?,javascript,ajax,node.js,mongodb,express,Javascript,Ajax,Node.js,Mongodb,Express,例如,我有AJAX脚本: $('#send_profile').click(function(e) { e.preventDefault(); $.ajax({ contentType:"application/x-javascript; charset:UTF-8", global: false, type: 'POST', url: '/user/change',
$('#send_profile').click(function(e) {
e.preventDefault();
$.ajax({
contentType:"application/x-javascript; charset:UTF-8",
global: false,
type: 'POST',
url: '/user/change',
dataType: 'html',
data: {
name: $("#profile_name").val(),
nickname: $("#profile_nickname").val(),
surname: $("#profile_surname").val(),
country: $("#profile_country").val(),
city: $("#profile_city").val(),
phone: $("#profile_phone").val(),
age: $("#profile_age").val()
},
success: function (result) {
console.log(result);
},
error: function (request, status, error) {
console.log(error);
}
});
});
以及我的服务器代码,它应该将ajax请求中的数据添加到数据库中
router.post('/change', function (req, res) {
var nickname = req.body.nickname,
name = req.body.name,
surname = req.body.surname,
age = req.body.age,
country = req.body.country,
city = req.body.city,
phone = req.body.phone;
User.findOneAndUpdate({_id: req.user._id}, {$set:{ nickname: nickname, name: name, surname: surname, age: age, country: country, city: city, phoneNumber: phone }}, {new: true}, function(err, doc){
if(err){
console.log("Something wrong when updating data!");
}
console.log(doc);
});
});
并有一个信息:
更新数据时出错!
未定义
所以我认为我的变量不正确,如何修正?如何声明ajax数据?您是否尝试过req。params@Dheryaconsole.log(req.params)向我显示空对象“{}”..@Dherya它太大了…你能调试一下,看看问题是req.body是空的还是req.users这里缺少一些数据。我假设您使用的是express(对吗?),但是您是否设置了任何中间件函数来解析主体?