使用expressjs将jQuery帖子作为数组接收

时间:2016-04-20 17:37:35

标签: javascript jquery node.js

我通过jquery有一个客户端ajax帖子,例如:

  $.ajax({
    method: 'POST',
    url: url,
    data: {
      one: 'test',
      two: 'testing',
      three: [1,2,3,4]
    },
    success: function() {},
    error: function() {}
  });

我有一个使用body-parser的快速服务器,由于某种原因它在服务器上被收到:

{ 
 one: 'test',
 two: 'testing',
 'three[]': [ '1', '2', '3', '4' ] 
}

知道为什么three设置为数组而不是字符串?希望它只是'three' : [ '1', '2', '3', '4' ]

1 个答案:

答案 0 :(得分:0)

请确保在您的快递应用中使用bodyParser进行此设置

app.use(
    bodyParser.json() //create application/json parser

    );

同样在ajax请求中,您还没有将contentType设置为application / json。 默认情况下,它是'application / x-www-form-urlencoded;字符集= UTF-8' 所以将您的请求更改为

$.ajax({
    method: 'POST',
    url: url,
    contentType:'application/json',
    data: {
      one: 'test',
      two: 'testing',
      three: [1,2,3,4]
    },
    success: function() {},
    error: function() {}
  });

这应该这样做