我已经使用javascript和Node.js制作了一个服务器,该服务器在我的浏览器中显示了一个JSON文件。
但是,我想在http://localhost:8888/Test.json
没有扩展名的情况下呼叫该站点。例如:http://localhost:8888/Test
这是我的服务器代码:
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs")
port = process.argv[2] || 8888;
file = (__dirname + '/Test.json');
http.createServer(function(req, res) {
var uri = url.parse(req.url).pathname, filename = path.join(process.cwd(), uri);
var contentTypesByExtension = {
'.html': "text/html",
'.css': "text/css",
'.js': "text/javascript",
'.json': "application/json" //Edited due to answer - Still no success :(
};
path.exists(filename, function(exists) {
if(!exists) {
res.writeHead(404, {"Content-Type": "text/plain"});
res.write("404 Not Found\n");
res.end();
return;
}
fs.readFile(file, 'utf8', function (err, file) {
if (err) {
console.log('Error: ' + err);
return;
}
file = JSON.parse(file);
console.dir(file);
var headers = {};
var contentType = contentTypesByExtension[path.extname(file)];
if (contentType) headers["Content-Type"] = contentType;
res.writeHead(200, headers);
res.write(JSON.stringify(file, 0 ,3));
res.write
res.end();
});
});
}).listen(parseInt(port, 10));
console.log("JSON parsing rest server running at\n => http://localhost:" +
port + "/\nPress CTRL + C to exit and leave");
我怎样才能做到这一点?我应该使用路线/快车吗?有人有什么建议吗?
先感谢您!
干杯,弗拉德
我现在使用了sledgehammer方法,并注释掉了以下代码片段:
if(!exists) {
res.writeHead(404, {"Content-Type": "text/plain"});
res.write("404 Not Found\n");
res.end();
return;
}
现在可以只调用: http://localhost:8888/Test
干杯,弗拉德
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句