1
私は以下のexpress node.jsアプリケーションを持っています。それは 'redis' npmパッケージを使用しています。nodejs expressアプリケーションはjson配列を返しません
app.get("/test",function(req,res){
var data = [];
client.HGETALL("receipts",function(err,obj){
for(var id in obj){
data.push(JSON.parse(obj[id]));
}
});
console.log(data);
res.json(data);
});
app.listen(3000);
コードはエラーなしで実行されます。ただし、[]
の変数はブラウザに戻ったときにdata
になります。
奇妙な部分は、私がコマンドラインから同じredisコマンドを実行すると、配列が読み込まれるということです。
は、誰もがここで何が起こっているかを教えてもらえますか?
Doh!私はそれがそれのようなものだと思った。もともと私は 'res.send(data)'をやっていて、コールバックの中に入れてみました。しかしそれは間違っていたので、私はそれが解決策であるとは思わなかった。ありがとうございました! –
@MattPhillips、その最初のメソッドはちょうどうまくいったはずです! – davin
ですので、res.sendを実行してjsonを渡すと、ヘッダーが正しく設定されますか?私はそれが動作していないことを誓う。 –