javascript - ExpressJS 逗号分隔值

标签 javascript node.js express ejs

我正在尝试为我的记录创建一个标记系统,并假设我能够通过在我的 post 方法上使用 req.body.tags.trim().split(","); 创建单独的标记,但我提供的所有逗号分隔值都显示为一个 URL。

正在写入的值: inputted values

显示并悬停的值: image hover

POST方法:

router.route('/admin/posts/create')

    // START POST method
        .post(function(req, res) {

            console.log("New instance");

            var blogpost = new Blogpost(); // create a new instance of a Blogpost model

            blogpost.title = req.body.title; // set the blog title
            blogpost.featureImage = req.body.featureImage; // set the blog image
            blogpost.blogUrl = blogpost.title.toLowerCase().replace(/\s+/g,"-");
            blogpost.author = req.body.author; // set the author name
            blogpost.tagline = req.body.tagline; // set the tagline
            blogpost.content = req.body.content; // set the blog content
            blogpost.category = req.body.category; // set the category
            blogpost.tags = req.body.tags.trim().split(","); // set the tags
                //Save Blog Post
                blogpost.save(function(err) {
                    if (err)
                        res.send(err);

                    res.redirect(303, '/'); //NEEDS TO BE CHANGED
                });

        }) // END POST method


        .get(isLoggedIn, function(req, res, blogpost) {
            res.render('pages/blogpost-create', {
              blogpost : blogpost
            });
        });

博客文章创建.ejs:

 <form action="/admin/posts/create" method="POST">
                    Header Image: <input type="file" id="files"/>
                    <p id="status">Please select a file</p>
                    <div id="preview"><img src="/images/event-placeholder.png"></div>
                    <input type="hidden" id="feature-image" name="featureImage" value="/images/event-placeholder.png" />
                    Title: <input type="text" name="title" required></input><br>
                    Author: 
                        <select name="author">
                            <option value="Author">Blog Author</option>
                        </select><br>
                    Category: 
                        <select name="category">
                            <option value="Test 1">Test 1</option>
                            <option value="Test 2">Test 2</option>
                            <option value="Test 3">Test 3</option>
                            <option value="Test 4">Test 4</option>
                        </select><br>
                    Tagline: <input type="text" maxlength="155" name="tagline" required><br>
                    Content:<br>
                    <textarea name="content" id="blog-editor" rows="10" cols="80">

                    </textarea>
                    <br>
                    Tags: <input type="text" name="tags" required>
                    <br>
<input type="submit" value="Submit">

Blogpost.ejs(显示值的位置):

<header>
    <% include ../partials/header %>
</header>

<div class="container">
    <div class="col-md-12">
        <div id="blog-content">
            <h1><%= blogpost.title %></h1>
            <img src="<%= blogpost.featureImage %>" class="img-responsive" id="blogpost-feature-image">
            <h3 class="blog-date"><%= blogpost.dateString %></h3>
            <h3 class="blog-category"><%= blogpost.category %></h3>
            <h3 class="blog-tagline"><i><%= blogpost.tagline %></i></h3>
            <p><%- blogpost.content %></p>
            <a href="<%= blogpost.tags %>"><%= blogpost.tags %></a>
        </div>
    </div>
</div>

最佳答案

是的,您将它们全部写入 ejs 模板中的一个 anchor 中。

类似这样的事情:

<ul>
    <% for(var i=0; i<blog.tags.length; i++) { %>
        <li>
            <a href='/tags/<%= blog.tags[i] %>'>
                <%= blog.tags[i] %>
            </a>
        </li>
    <% } %>
</ul>

我假设您的保存逻辑按照您的想法成功保存了数组,但这也值得检查

关于javascript - ExpressJS 逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112161/

相关文章:

node.js - 找不到模块 'cylon'

node.js - 使用 vue.js、node.js 和express.js 上传原始文件

mysql - 我该如何解决这个问题 : getting values, 和类型错误

mysql - 在 node.js 中检索包含 AreaName 的条目时出错

javascript - 如何使用 ng-if 选择类别

javascript - 使用 addEventListener Javascript 重置 setTimeout

javascript - 在下拉 jQuery 菜单中将鼠标悬停在一列上时,如何只选择一列?

javascript - 如何避免graphql请求中的代码重复?

javascript - 如何排除 TypeScript 定义中声明的全局类型?

node.js - 发出 'stop'事件后如何中止异步功能