Я создал простой блог-сайт с постами, пользователями и комментариями.Я использую - MongoDB, NodeJS и Express с представлением EJS.Я столкнулся с проблемой, когда пытался создать разделы комментариев.Я хотел использовать JQuery с Ajax-запросами, чтобы создать раздел комментариев, чтобы страница не обновлялась, когда пользователь публикует или редактирует комментарий.
Чтобы получить комментарии к каждому сообщению, япостроен маршрут API, который выглядит следующим образом - www.domain.com/api/messages/:post_id этот URL возвращает JSON, который содержит комментарии к этому сообщению.Я не хотел раскрывать «рискованные» данные об авторе комментария, поэтому заполнил результаты запросом Монго.
Теперь по проблеме - Я хочу добавить редактирование иудалить кнопки для каждого комментария, который будет отображаться только для администратора и автора, конечно.Когда я использую EJS, это просто - я написал что-то вроде этого -
<% if (user !== null&& (JSON.stringify(user._id) === JSON.stringify(comments[i].author._id)
|| user.is_admin === true)) { %>
put the buttons here...
Дело в том, что когда я использую JQuery в своем основном файле scirpt, я не могу получить доступ к пользователю (это объект, которыйбыл отправлен из Nodejs на бэкэнд).Я не уверен, стоит ли мне «отправлять» этот объект в мой js-файл из EJS, я думаю, что это небезопасно и неправильно.
И я не могу также сохранить тот код EJS, который я цитировалнесколько строк назад, потому что при загрузке файла EJS на этой странице нет комментариев (запрос XHR получает их, а JQuery помещает их на страницу).Так что я действительно не знаю, как двигаться дальше.
Редактировать - я думаю, у меня есть решение: может быть, мне следует создать массив идентификаторов в файле EJS, который будет содержать комментарии, которые должны иметь эти кнопкиа потом я как-то отправлю этот массив в файл JS?
Спасибо!