У меня есть флажок, который при нажатии вызывает функцию, которая выполняет запрос GET. На основе выбора я хочу отобразить дополнительные флажки на одной странице. В настоящее время это код, который я до сих пор:Обновить раздел страницы с помощью EJS и Express
стороне клиента
function selectedHouse(house)
{
if(house.checked){
$.get('/', {data: house.value});
}
}
стороне сервера
var routing = function (nav, houses) {
router.route('/')
.get(function (req, res) {
var rooms = [];
rooms = getRooms(req.query.data);
console.log(rooms);
res.render('index', {
title: 'Independent cleaner',
nav: nav,
houses: houses,
roomsForHouse: rooms
});
});
return router;
};
В первый раз загружает страницу, он загружает с правильным названием, нав и дома. Когда функция выполняется на стороне клиента, я возвращаю связанные комнаты для дома, и я пытаюсь заполнить переменную roomForHouse, которую я показываю на виду.
Проблема в том, что представление не отображает переменную roomForHouse. Таким образом, запрос GET вызывается после загрузки страницы и второй раз, когда функция выполняется. Может ли это быть достигнуто?
Ваше решение должно работать, и мне оно нравится. Я думаю, что вопрос сейчас, я делаю это правильно? Если бы вы начали с нуля, как бы вы это сделали. Это мой любимый проект, так что нет никакого реального эффекта, если я начну с нуля. Я все еще хочу использовать node.js и выразить. –
Также вы ответили на мой вопрос, поэтому я собираюсь отметить его как решенный, хотя я хотел бы посмотреть, как бы вы это сделали. –
Вы делаете это правильно. Я хотел бы, чтобы мой маршрут '/' отображал страницу индекса со списком всех ваших домов из базы данных, а затем использовал идентификатор каждого из них, который вы можете получить по требованию. Итак, 2 маршрута. Конечно, это зависит от ваших фактических данных. Традиционно можно получить разбитый список домов (только основы для каждого дома), за которым следует подробный обзор для каждого (номера плюс все остальные детали). Но суть в этом правильна. Ты на правильном пути. – cyberwombat