使用ajax将变量或数组从javaScript发送到节点js

时间:2017-01-07 14:19:06

标签: arrays ajax node.js express

我想这样做: 使用javascript从我的dom中获取一些数据,将它们保存到变量然后将其发送到节点js,使用express抓取它,最后将其保存到数据库中。 客户端javaScript:

var tags = ["apple","orange","green"];

$.ajax({
        type: "POST",
        url: '/posts',
        data: { tags : tags },
        success: function(data)
        {
            alert("success!");
        }
    });

现在我试图用这样的表达来获取数据:

我的服务器代码:

/***** CREATE A POST *****/
app.post('/posts', function (req, res) {

  //code

  var tags = req.body.tags;

  // create that post

});

但这不正确。有什么问题?

2 个答案:

答案 0 :(得分:0)

您唯一需要做的就是在“post”路线之前使用body-parser,否则它将无效。中间件的顺序很重要。

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.post('/posts', function (req, res) {

  //code

  var tags = req.body.tags;

  // create that post

});

答案 1 :(得分:0)

您必须在请求中输入主机和端口信息,如下所示:

$。AJAX({         键入:" POST",         网址:' http://www.scalatest.org/user_guide/using_scalatest_with_sbt',         data:{tags:tags},         成功:功能(数据)         {             警报("成功"!);         }     });