你如何从Angular的MySQL服务器上查看RowDataPacket?

时间:2017-04-12 20:07:38

标签: mysql sql angularjs ajax

我一直在搜索,其他人的问题都没有与我的问题直接相符。

我正在使用一个简单的GET请求来拉取MySQL表,但它只是在客户端返回一些奇怪的对象。我在服务器端console.log(行),它返回:

[ RowDataPacket {
id: 1,
keyword: 'cannabis',
screenName: 'randeemckee',
numFollowers: 1526,
location: 'ÜT: 29.983699,-95.336676',
count: 1,
firstDate: Wed Apr 12 2017 19:19:34 GMT+0000 (UTC),
lastDate: Wed Apr 12 2017 19:19:34 GMT+0000 (UTC) } ]

这是我的客户端代码:

var dataApp = angular.module('dataApp', [])
.controller('databaseControl', dataControl);

dataControl.$inject = ['$http'];

function dataControl($http){
var dCtrl = this;

dCtrl.getData = function() {
    $http.get('/showdata')
        .then(function(success){
            console.log('Retreived database info!');
            console.log(success.data);



        }, function(error){
            console.log('Error retrieving data: ' + error);
        });
};
};

这是我的服务器端代码:

app.get('/showdata', (req, res) => {
connection.query('SELECT * FROM twitterInfo', function(err, rows) {
    if (err) {
        console.log(err);
        res.send(err);
    } else {
        console.log(rows);
        res.send(req.body);
    };
});
});

以下是'success.data'在客户端的样子:

Object {}
__proto__:Object 
constructor:function Object()
hasOwnProperty:function hasOwnProperty()
isPrototypeOf: function isPrototypeOf()
propertyIsEnumerable:function propertyIsEnumerable()
toLocaleString:function toLocaleString()
toString:function toString()
valueOf:function valueOf()
__defineGetter__:function __defineGetter__()
__defineSetter__:function __defineSetter__()
__lookupGetter__:function __lookupGetter__()
__lookupSetter__:function __lookupSetter__()
get __proto__:function __proto__()
set __proto__:function __proto__()

这看起来不可辨认,我只是想从RowDataPacket中提取数据并显示它......

1 个答案:

答案 0 :(得分:0)

是时候回答我自己的问题......

它应该是res.send(rows)NOT res.send(req.body); 我不知道为什么,但是它有效。