异步处理json响应

时间:2012-01-12 18:36:33

标签: node.js mongoose

检查代码

var server = http.createServer(function(req, res){
    var parsedUrl = require('url').parse(req.url);
    var pathname = parsedUrl.pathname;
    pathname = pathname.replace('/get/','');

    GPSData.find({}, function(err, data) {
        if(err)
            console.log(err, data, data.length); 
        res.writeHead(200, {
                "Content-Type": "application/json",
                "Access-Control-Allow-Origin": "*"
        });
        console.log('hello');
         res.end(data);
    });

});

如何从db获取json数据并在响应中显示?如果我将res.end('some-json')从GPSData.find()中移出,那么我可以在浏览器中看到我的页面但是如何在响应中显示来自db的数据?

如何异步处理所有这些?

2 个答案:

答案 0 :(得分:0)

如果浏览器显示“此网页不可用”,则您应该在控制台中收到一些错误消息,或者您最后错过了server.listen(<port_number>);

答案 1 :(得分:0)

好的,我发现在发回回复之前我需要对数据进行字符串化

var body = JSON.stringify(data);
res.end(body);