我正在尝试处理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
答案 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