Arrays 使用ajax从javaScript向节点js发送变量或数组
我想这样做: 使用javascript从我的dom中获取一些数据,将它们保存到一个变量中,然后将其发送到node js,使用express获取数据,最后将其保存到数据库中。 客户端javaScript: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
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吗?