Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用ajax从javaScript向节点js发送变量或数组_Arrays_Ajax_Node.js_Express - Fatal编程技术网

Arrays 使用ajax从javaScript向节点js发送变量或数组

Arrays 使用ajax从javaScript向节点js发送变量或数组,arrays,ajax,node.js,express,Arrays,Ajax,Node.js,Express,我想这样做: 使用javascript从我的dom中获取一些数据,将它们保存到一个变量中,然后将其发送到node js,使用express获取数据,最后将其保存到数据库中。 客户端javaScript: var tags = ["apple","orange","green"]; $.ajax({ type: "POST", url: '/posts', data: { tags : tags }, success: functi

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

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

$.ajax({
        type: "POST",
        url: '/posts',
        data: { tags : tags },
        success: function(data)
        {
            alert("success!");
        }
    });
现在我正试图用express获取这些数据,如下所示:

我的服务器代码:

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

  //code

  var tags = req.body.tags;

  // create that post

});

但这并不正确。问题出在哪里?

您需要做的唯一一件事是在“post”路由之前使用body解析器,否则它将无法工作。中间件的顺序很重要

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

});

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

$.ajax({ 类型:“POST”, url:“”, 数据:{tags:tags}, 成功:功能(数据) { 警惕(“成功!”); }
});

您是否可以查看是否正确转到
/posts
POST调用,并尝试执行console.log(req.body.tags),并查看是否成功接收数据您是否使用了bodyParser middlewareYes我使用了bodyParser。我需要安装任何esp软件包才能使用ajax吗?