更新查询未在nodejs中正确获取值

时间:2015-09-23 21:14:10

标签: jquery sql node.js

我正在尝试处理nodejs服务器中的更新查询。这是正确的,但它没有正确获取值,只有id,我无法弄清楚如何解决它。非常感谢!

服务器侧

app.post('/update', function(req,res) {

    var data = req.body;
    var id = data.id;
    var json = JSON.stringify(req.body);
    var object = JSON.parse(json);

    console.log(object);
    var query = "UPDATE Control SET casate='"+ req.body.casate +"', reparate='"+ req.body.reparate +"' WHERE id=" + id;
    console.log(query);
    connection.query(query, function(error, result) {
            console.log(result);
    });
});

客户端:

function update()
            {
                var frm = $('#form');
                var data = frm.serializeArray();
                console.log(data);
                var id = $('#nr_reg').val();
                $.ajax({
                    type: 'post',
                    data: JSON.stringify(data),
                    dataType: 'json',
                    url: '/update',
                    data : {
                        id: id
                    },
                    success:function(data){                               
                        console.log("Update successfully!");

                    },
                    error: function(err){
                        console.log(err);
                    }

                }); 
            }

从控制台查询:

UPDATE Control SET casate='undefined', reparate='undefined' WHERE id=5

1 个答案:

答案 0 :(得分:1)

在$ .ajax中你有

data: JSON.stringify(data),

然后

data : {
    id: id
},

所以后者覆盖了第一个

你可以改用

    data : {
        id: id,
        data: JSON.stringify(data)
    },

表示您必须相应地更改服务器端代码

var id = req.body.id;
var data = req.body.data