我正在使用node,express,moongoDB和EJS创建具有自定义帖子管理系统的博客站点。一切正常,但我现在尝试使用mongoDB上Cloudinary上载的图像将多个图像添加到上载/编辑页面上的帖子中。从理论上讲,它的工作原理非常简单,因为我只需要将图像ID或URL附加到选定的帖子文档中即可,但是在一页上选择哪个帖子和哪些图像让我头疼。 我正在努力与此配合使用前端JS和EJS,因为选择需要在前端进行并通过html表单发布到后端,我假设使用包含我的图像选择的数组。 我的代码创建了一个名为“ imageSelection”的数组来存储用户使用JS拾取的图像,然后尝试对JSON进行字符串化并将该POST发布到服务器进行处理。
我能够使用JS将图像保存在一个数组中,并使用foreach在数据库中循环显示图像,从而使用EJS显示选项。然后,我只能弄清楚如何发布静态数据,但是这对我需要的方式不起作用,因为我想在将其字符串化后发布图像选择数组。我似乎无法使用普通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来完成此操作吗?
感谢所有帮助和明智的话语。