2012-01-12 161 views
0

检查代码处理JSON响应异步

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); 
    }); 

}); 

如何从数据库和演出得到响应JSON数据?如果我移动res.end(“一些JSON的”)出GPSData.find的(),那么我可以看到我的网页浏览器,但如何从数据库响应显示数据?

如何异步处理这一切呢?

+0

这不应该是异步,除非你真的想单独渲染页面和JSON(通过网页套接字或其他)之前,我的字符串化数据。如果您在回调中保留res.end,那么页面无法呈现的问题是? – glortho 2012-01-12 20:47:55

+0

是如果res.end是回调里面,页面不呈现 – coure2011 2012-01-13 05:01:22

+0

和“你好”得到输出到控制台?那时数据看起来像什么? – glortho 2012-01-13 05:06:13

回答

0

好吧,我发现我需要回送响应

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

如果浏览器显示“该网页无法使用”,那么无论是你应该得到一些错误信息的控制台,或者你只是在最后失踪server.listen(<port_number>);