Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121

Объясните почему не работает res.json()

14.04.2016, 14:36. Показов 1893. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, вот есть код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
app.post('/main.js', function(req, res){
    var lightOfKitchen = req.body.objLight;
    var name = req.body.names;
    console.log("lightOfKitchen: " + lightOfKitchen + " " + "name: " + name);
    if(lightOfKitchen == 0) {
        client.publish('/KuhLamp_102/gpio/output13', '0');
        res.json({LightOfKitchen: '1'}); // вот этот res.json({LightOfKitchen: '1'}); не хочет выполнятся
    } else if (lightOfKitchen == 1) {
        client.publish('/KuhLamp_102/gpio/output13', '1');
    }
 
    res.end("yes");
});
и не понимаю по условию все вроде бы в порядке почему он не хочет отправлять per.json ноаое значение объекту LightOfKitchen?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2016, 14:36
Ответы с готовыми решениями:

Объясните почему не работает?
FDM.TLinchData.Locate('Фамилия;Имя',VarArrayOf(),); //работает FDM.TLinchData.Locate('Фамилия;Имя',VarArrayOf(),); //не работает ...

Объясните почему она работает
float a; cin >> a; while (cin.peek() != '\n') { cout << "Ошибка! Введите корректное число" << endl; return 0; ...

Файл: Объясните, почему не работает?
Хочу в созданный пустой файл записать hello. Написал простенькую программу. Объясните, почему не работает? Компиляция проходит...

14
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 18:02
не думаю что так сильно всё изменится, но я бы написал вот так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
app.post('/main.js', function(req, res){
    var lightOfKitchen = req.body.objLight;
    var name = req.body.names;
    console.log("lightOfKitchen: " + lightOfKitchen + " " + "name: " + name);
    
        client.publish('/KuhLamp_102/gpio/output13', lightOfKitchen + ""); // магическим образом превращаем число в строку
    
     if(lightOfKitchen) // и если у нас нужно включить свет, то говорим, что включили
         res.end("yes");
    else 
         res.json({LightOfKitchen: '1'}); // и почему-то говорим браузеру, что свет включён, если только что мы выключили свет. ну да ладдно
});
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 18:44  [ТС]
Цитата Сообщение от BANO Посмотреть сообщение
res.json({LightOfKitchen: '1'});
он же этим вроде бы как передаст просто что то json'у но не как не его id
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 20:39
ratatyq, он json-у ничего не передаёт
вы если не уверены, то тогда лучше сделайте вот так
JavaScript
1
2
3
4
res.end(LightOfKitchen ? 
    "yes" :
    JSON.stringify({LightOfKitchen: '1'})
);
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 20:57  [ТС]
BANO, мне yes не обязательно передавать а так это тоже не робит
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 21:13
ratatyq, он вообще что-нибудь передаёт?
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 22:05  [ТС]
BANO, ну да вроде отправляет но данные json не изменяются
Миниатюры
Объясните почему не работает res.json()  
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 22:45
ratatyq, у меня тимвивер говорит, что вас нету в сети...

а зачем json менять? он у вас как был так и должен остаться, там вы не делаете динамических изменений в json
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 22:52  [ТС]
BANO, это не та фотка... не ту отправил
Миниатюры
Объясните почему не работает res.json()  
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 22:52  [ТС]
вот тут они вроде как передаются
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 23:11
ratatyq, ну, всё нормально
что именно вам не нравится?
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 23:16  [ТС]
BANO, в самом файле json не чего не меняется
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 23:21
ratatyq, у вас нету файла json
вы немного не понимаете зачем нужен json

json - формат передачи и хранения данных
в данном случае легче всего использовать его, потому что обе части потока написаны на js


ладно
что вам там надо поменять?
а то вы как-то говорите абстрактно
0
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
14.04.2016, 23:31  [ТС]
BANO, вот смотрите у меня есть per.json файл и я с него беру данные и отправляю серверу сервер их принимает чтото с ними делает и должен их отправить но отправлять он их не может почему то... тоесть как бы в per.json новые данные об этом элеменете не обновляются
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.04.2016, 23:43
ratatyq, вы хотите сделать коллекцию, которая будет синхронизироваться и на сервере и на клиенте
ну чтож
можно

смотрите
будем использовать стандартный способ

вот у вас есть коллекция, там вы всякие параметры даёте, берёте всякие значения
к этой коллекции надо прилепить таймер, который будет посылать запрос на сервер, и сервер будет выдавать свою версию это коллекции или изменения коллекции с прошлого запроса (этот метод будет экономичнее по трафику и легче будет с ним реализовать синхронизацию)
короче
смотрите
на коллекцию ставите таймер, который сначала проверяет, произошли ли изменения с прошлого "тика" этого таймера
если произошли, то он отправляет эти изменения на сервер, если не произошли, то просто передаёт пустой json
сервер в свою очередь смотрит какие у него произошли изменения, вносит туда изменения, которые ему прислал клиент и выдаёт уже свой список изменений параметров и индикаторов

выглядеть это будет примерно так:
привет, у меня вот тут изменилось кое-что, давай ты это обработаешь?
давай!.. сделал, но у меня тоже изменилось, давай ты тоже посмотришь обработаешь?
давай...

ну думаю вы поняли
и ещё
иногда надо присылать полный список с сервера, чтобы быть в точности уверенным

хотя...
ща подумаю
вы пока думайте над этим
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2016, 23:43
Помогаю со студенческими работами здесь

Объясните пожалуйста, почему не работает.
:@echo off :2 set /p a = call :1 %a% goto 2 :1 echo value = %1 goto:eof

Не понимаю почему так работает json
https://private-e9dfb8-videotest3.apiary-mock.com/videos - есть такой файл. При помощи var xhr = new XMLHttpRequest(); ...

Объясните пожалуйста, почему не работает условие!
Начал изучать классы, хочу понять как работать с приватными переменнами! Есть такой вот метод: char* student::returnName() { ...

Объясните, пожалуйста, почему не работает строка
Ничего не понимаю... Объясните, пожалуйста, почему не работает строка program 1; var a: integer; begin; readln(a); if...

Объясните пожалуйста почему не работает программа
Во время выполнения программы возникает ошибка. Не могу понять почему. Вот код: #include <iostream> #include <cstring> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru