ExpressJS SyntaxError: Unexpected token C

ExpressJS SyntaxError: Unexpected token C

我试图将我的字符串保存到一个逗号分隔的数组中,但是当我尝试使用 JSON.parse 方法时,我在发送 post 方法并尝试保存一个记录:

SyntaxError: Unexpected token c
   at Object.parse (native)
   at router.route.post.get.res.render.blogpost (/Users/user/Desktop/Projects/node/blog/app/routes.js:106:34)

这是我的路线(错误出现在 blogpost.save):

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 = JSON.parse(req.body.tags.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
            });
        });

JSON.parse 将字符串(有效 JSON)解析为 object/array.

你已经有了一个数组,正如你正在做的那样

req.body.tags.split(",")

split() 创建一个数组。你不能解析一个数组,但你可以将它字符串化