我在服务器目录中有日志文件 我想向客户端显示文件名所以我创建了 readDirectory.js
可以正确读取名称 现在我对 node.js 很陌生
并且我正在尝试将 json
数据发送到客户端,但它没有发生,我如何使用 express 将日志文件名称发送到客户端?
读取目录.js
var fs = require('fs');
var path = './Logs'
var Logs = [];
function readDirectory(){
fs.readdir(path, function(err, items) {
Logs.push(items);
/* console.log(items);
for (var i=0; i<items.length; i++) {
console.log(items[i]);
}*/
});
return Logs;
}
exports.readDirectory = readDirectory;
应用程序.js
var express = require('express');
var app = express();
var readDirectory = require('./readDirectory');
app.use(express.static(__dirname + "/public"));
app.get('/logs',function(req,res){
res.send(readDirectory.readDirectory());
});
angularFactory.js
angular.module('App').factory('DitFactory', function ($http) {
'use strict';
var data;
return {
data:"data from factory"
getLogs: function () {
return $http.get('/logs')
.then(function (response) {
return response.data;
});
}
}
});
最佳答案
你必须把Logs
数组序列化成json,然后传回给客户端
app.get('/logs',function(req,res){
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(readDirectory.readDirectory()));
});
或者
app.get('/logs',function(req,res){
res.json(readDirectory.readDirectory());
});
关于javascript - 如何从目录中读取文件并将其作为 JSON 发送给客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104090/