我正在尝试创建一个从服务器端的数据库中选择数据的函数,并将其设置为客户端的文本框值。它在服务器端工作正常,但在客户端,如果我提醒数据,它会显示[oject Object]
,而对于data.id,它会显示undefined
,我无法找出原因。非常感谢!
服务器端:
app.post('/id', function(req,res) {
var data = req.body;
var id = data.id;
console.log(id);
var query = "SELECT * FROM Control WHERE id=" +id;
connection.query(query, function(error, result) {
console.log(result);
res.send(result);
});
});
客户端:
function select()
{
var id = $('#nr_reg').val();
$.ajax({
type: 'post',
data: JSON.stringify(data),
dataType: 'json',
url: '/id',
data : {
id: id
},
success : function(data){
alert(data);
var id = data.id;
$('#optic').val(id);
},
error: function(err){
console.log(err);
}
});
}
答案 0 :(得分:2)
这里的情况是,两个data
彼此不同。
//input for ajax page
data : {
id: id
}
和
//output from ajax page
success:function(data)
第一个是传递的值url: '/id'
第二个代表由于AJAX调用而从服务器返回的值。
这意味着,您可以为函数参数指定任何名称,如success:function( value )
。
答案 1 :(得分:0)
当您获取这些数据而不是警报时,请使用console.log(数据)。 还有一件事,如果你想要你反对有这个id 只需将这些数据作为JSON.stringify(data)传递。并使用控制台日志打印这些数据。并查看它包含的内容。 然后很容易就可以解决你的问题了。