Node.js,wordpress,redis

我需要从节点服务器的Redis中获取数据并将其发送到Wordpress布局。 我尝试了以下,但data似乎并没有被发送。

 var express = require('express'); var app = express(); var redis = require('redis'); var client = redis.createClient(); //creates a new client client.on('connect', function () { console.log('connected'); }); data = []; client.set(['first', 'Oleh']); client.set(['second', 'Ivan']); client.set(['thirt', 'Andriy']); client.set(['fourth', 'Olena']); client.set(['fifth', 'Kristy']); client.set(['sixth', 'Irina']); client.get('first', function (err, reply) { console.log(reply); data.push(reply); }); client.get('second', function (err, reply) { console.log(reply); data.push(reply); }); client.get('thirt', function (err, reply) { console.log(reply); data.push(reply); }); client.get('fourth', function (err, reply) { console.log(reply); data.push(reply); }); client.get('fifth', function (err, reply) { console.log(reply); data.push(reply); }); client.get('sixth', function (err, reply) { console.log(reply); data.push(reply) }); app.get('http://localhost/wordpress/', function (req, res) { res.type('application/json'); // set content-type res.send(this.data); // send text response console.log(this.data); }); app.listen(process.env.PORT || 4730); 

看来你的范围不正确。 this.data指的是function (req, res) {}而不是你的全局作用域。

尝试做res.json(data)并删除res.type() ,因为res.json已经为你照顾。