Gestione della risposta JSON in modo asincrono
Domanda
Controlla il codice
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);
});
});
Come ottenere i dati JSON da DB e mostrare in risposta? Se sposta res.end ('some-json') da gpsdata.find () allora posso vedere la mia pagina nel browser ma come mostrare i dati da DB in risposta?
Come gestire tutto questo in modo asincrono?
Soluzione 2
Ok ho scoperto che ho bisogno di stringere i miei dati prima di inviare la risposta
var body = JSON.stringify(data);
res.end(body);
Altri suggerimenti
Se il browser visualizza "questa pagina Web non è disponibile", o dovresti ricevere alcuni messaggi di errore in console o ti manca semplicemente server.listen(<port_number>);
alla fine.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow