Я использую node, express, moongoDB и EJS для создания сайта блога с настраиваемой системой управления сообщениями. Все это работает хорошо, но теперь я пытаюсь использовать загруженные Cloudinary изображения из моей mongoDB, чтобы добавить несколько изображений в сообщения на странице загрузки / редактирования. Теоретически это работает очень просто, так как мне просто нужно добавить идентификаторы изображений или URL-адреса к выбранному документу публикации, но выбор того, какой пост и какие изображения на одной странице, вызывает у меня головную боль. Я изо всех сил пытаюсь использовать интерфейсные JS и EJS в гармонии с этим, поскольку выбор должен быть сделан во внешнем интерфейсе и отправлен в серверную часть через форму html, я полагаю, с массивом, который включает мои выборы изображений. Мой код создает массив с именем imageSelection для хранения изображений, выбранных пользователем с помощью JS, а затем он пытается преобразовать JSON в строку и отправить массив на сервер для обработки.
Я смог сохранить изображения в массиве с помощью JS и использовать foreach для циклического перебора изображений из моей базы данных для отображения параметров с помощью EJS. Тогда я могу только понять, как отправлять статические данные POST, но это не работает так, как мне нужно, поскольку я хочу опубликовать массив выбора изображения после его преобразования в строку. Кажется, я не могу использовать простой JS для преобразования и публикации данных, которые я храню в своем массиве в ванильном JS, потому что мне нужно вызвать функцию, а затем вставить данные в отправленное значение. Я не уверен, что это единственная проблема с моим кодом здесь.
У меня есть предварительный просмотр выбранных изображений, которые должны отображаться, но я не могу использовать свой прежний код, потому что он работает с EJS, и ему нужно работать с простым JS для доступа к моему массиву imageSelection.
<form action="/post-add-imgs" method="post">
<div class="dropdown">
<button class="btn btn-primary" type="button" data-toggle="dropdown">Select a Post
<span class="caret"></span></button>
<ul class="dropdown-menu hover_img">
<% posts.forEach(function(post){ %>
<li><a href="#"><%=post.title%></a></li>
<% }); %>
</ul>
</div>
<div class="uploads-gallery">
<% images.forEach(function(image){ %>
<a href="#" onclick=" addImage(<%=image.url%>); "><img src="<%=image.url%>" alt="preview image"
height="100" /></a>
<% }); %>
</div>
<input type="hidden" name=" imageSelection " value="json.stringify(imageSelection);">
<button type="submit" name="button">Add image choice</button>
</form>
Есть ли способ использовать ejs для отображения выбранных изображений, а затем опубликовать их после json.stringify? Нужно ли мне для этого использовать ajax?
Спасибо за помощь и мудрые слова.