JSON数据未显示正确的信息

时间:2015-09-22 12:58:13

标签: javascript jquery json node.js

我正在尝试创建一个从服务器端的数据库中选择数据的函数,并将其设置为客户端的文本框值。它在服务器端工作正常,但在客户端,如果我提醒数据,它会显示[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);
                    }

                }); 
            }

2 个答案:

答案 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)传递。并使用控制台日志打印这些数据。并查看它包含的内容。 然后很容易就可以解决你的问题了。