JSON.parse не переводит в объект
Здравствуйте!
Возникла проблема когда в файле app.js на сервере функция JSON.parse не переводит полученный json файл из строки в объект, НО возвращает всегда строку из файла. Пример:
app.get('/test', function (req, res) {
var content = fs.readFileSync(__dirname + '/test/users.json', 'utf8')
var users = JSON.parse(content)
res.send(users)
})
При попытке получить ответ через ajax возвращает строку вместо объекта. Подскажите, в чём может быть проблема? |
Шо? HTTP - текстовый протокол. Всё что оттуда прилетает - текст. JSON.parse ты на клиенте должен делать, а не на сервере.
|
Biotoxsin, файлы можно вообще передавать потоком... ;)
Посмотри простой пример этого и адаптируй для своего роутинга.
const http = require("http");
const fs = require("fs");
http.createServer(function(request, response){
console.log(`Запрошенный адрес: ${request.url}`);
// получаем путь после слеша
const filePath = request.url.substr(1);
// смотрим, есть ли такой файл
fs.access(filePath, fs.constants.R_OK, err => {
// если произошла ошибка - отправляем статусный код 404
if(err){
response.statusCode = 404;
response.end("Resourse not found!");
}
else{
fs.createReadStream(filePath).pipe(response);
}
});
}).listen(3000, function(){
console.log("Server started at 3000");
});
|
| Часовой пояс GMT +3, время: 07:01. |