Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2021, 01:52
Аспирант
Отправить личное сообщение для Biotoxsin Посмотреть профиль Найти все сообщения от Biotoxsin
 
Регистрация: 11.04.2019
Сообщений: 74

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 возвращает строку вместо объекта.

Подскажите, в чём может быть проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2021, 02:33
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Шо? HTTP - текстовый протокол. Всё что оттуда прилетает - текст. JSON.parse ты на клиенте должен делать, а не на сервере.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2021, 10:39
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

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");
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить объект в другой объект фонарик Общие вопросы Javascript 5 11.10.2015 01:57
Ищу функцию для canvas, которая будет перемещать мой объект на позицию х,у eko24 Events/DOM/Window 0 12.10.2013 00:33
Создать объект в объекте Bryant-24 Общие вопросы Javascript 3 10.07.2013 16:06
jQuery (Как открыть объект в этом же окне, щёлкнув по нему мышкой) Объект кусок карты hadzhimuratov (X)HTML/CSS 32 18.06.2012 17:54
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45