我是一个完全的新手,只是做了这样的事情:
var fs = require('fs');
var file = __dirname + '/data.json';
var http = require ('http');
var server = http.createServer(function (req, res){
res.writeHead(200);
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
data = JSON.parse(data);
res.end(data);
});
});
server.listen(8000);
当我在做:
data = JSON.parse(data);
console.dir(data);
代替
data = JSON.parse(data);
res.end(data);
它能够在控制台上显示我在.json中的数据。但是,当我尝试创建服务器并使用res.end发布数据时,它实际上并没有工作。
有人可以提供一些见解吗?是否因为我这里的“数据”只是一个对象?我应该如何处理从.json获得的数据以便用于html?
该http
模块不支持Objects
作为响应(它支持缓冲区或字符串),因此您必须执行以下操作:
res.end(JSON.stringify(data));
但是,如果使用,express
您可以这样做
res.send(data);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句