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, время: 04:53. |