gpt4 book ai didi

javascript - Redis 队列将列表中的项目存储为 [object Object]

转载 作者:可可西里 更新时间:2023-11-01 11:21:55 27 4
gpt4 key购买 nike

我正在使用 curl 将 POST 请求发送到我的 node.js 应用程序。然后处理 POST 请求并将其推送到 Redis 队列。但是当我检查我的 redis 队列时,列表中的所有项目都显示为 [object 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);
});
}
});

只有我单独推送的“帖子”才能正确显示。否则所有项目都显示为1)“[对象对象]”2)“[对象对象]”..我使用这个 curl 命令来传递数据,

curl --data "What=Hello&world=name" http://127.0.0.1:8124

我用另一个终端用这个命令检查redis队列,

>lrange XMLqueue 0 -1

如何解决?

最佳答案

Redis 只接受少数输入结构。所以我们需要将 JSON 转换为字符串。所以我们使用

var p=JSON.stringify(post)

关于javascript - Redis 队列将列表中的项目存储为 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com