2012-01-12 14 views
0

応じてDBとショーからJSONデータを取得する方法のコード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); 
    }); 

}); 

をチェック!私がres.end( 'some-json')をGPSData.find()から移動すると、ブラウザで自分のページを見ることができますが、応答してdbからデータを表示する方法は?

これをすべて非同期で処理する方法はありますか?

+0

を送信する前に私のデータを文字列化する必要があることがわかりました。コールバック内にres.endを置いておくとページがレンダリングされないという問題はありますか? – glortho

+0

res.endがコールバック内にある場合、ページはレンダリングされません – coure2011

+0

「hello」はコンソールに出力されますか?その時点でデータはどのように見えますか? – glortho

答えて

0

[OK]を私は、私はこれは、あなたが本当に(WebSocketをまたはものは何でも上)別にページとJSONをレンダリングする場合を除き、asyncを指定してはならない応答バック

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

ブラウザに「このWebページは利用できません」と表示された場合は、コンソールにエラーメッセージが表示されるか、最後にserver.listen(<port_number>);が表示されません。

関連する問題