Javascript 如何在Node.js中声明和使用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',

例如,我有AJAX脚本

$('#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(对吗?),但是您是否设置了任何中间件函数来解析主体?