我使用curl向我的node.js应用程序发送帖子请求。然后处理POST请求并将其推送到Redis队列。但是,当我检查redis队列时,列表中的所有项都显示为Object。这是我的密码
var http = require('http');
var qs = require('querystring');
var redis = require('redis').createClient();
redis.lpush('XMLqueue','post');
console.log('Server Starting Now: ');
http.createServer(function (req, res) {
//res.writeHead(200, {'Content-Type': 'text/plain'});
//res.end('Hello World\n');
if(req.method == 'POST'){
var body="";
req.on('data', function(data){
body += data;
});
req.on('end',function(){
var post = qs.parse(body);
console.log(post);
//var p = post.toString();
var p = JSON.encode(post);
redis.lpush('XMLqueue',p);
});
}
});只有我谨慎推送的“post”才能正确显示。否则,所有项目都显示为1)“对象对象”2)“对象对象”。。我使用这个curl命令传递数据,
curl --data "What=Hello&world=name" http://127.0.0.1:8124我使用这个命令使用另一个终端检查redis队列,
>lrange XMLqueue 0 -1我该怎么解决呢?
发布于 2014-07-04 06:37:42
Redis只接受几个输入结构。因此,我们需要将JSON转换为字符串。所以我们用
var p=JSON.stringify(post)https://stackoverflow.com/questions/24554036
复制相似问题