AJAX POST请求后

时间:2016-11-21 23:50:00

标签: jquery ajax node.js

我正在使用node + express构建一个应用程序,我正在发出一个POST请求,我发布了一个字符串数组。但是,当我在服务器端打印出请求正文时,对象属性会更改:

var test_array = ['1', '2', '3', '4'];

$.ajax({
  type: 'POST',
  url: 'some_url/',
  headers: {
        'x-access-token': 'some_token'
  },
  data: {
    myArray: test_array
  },
  success: function () {
    console.log('success!');
  },
  error: function (a, b, c) {
    console.log(a);
    console.log(b);
    console.log(c);
  }
});

但是,当我在服务器端注销请求时,我得到:

console.log(req.body);

{ 'myArray[]': [ '1', '2', '3', '4' ] }

有谁知道为什么myArray在服务器端成为myArray[]?提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以在contentType: 'application/json'发布请求中添加dataType: 'json'ajax,将数据json发布到服务器,如下所示

var test_array = ['1', '2', '3', '4'];

$.ajax({
  type: 'POST',
  url: 'some_url/',
  headers: {
        'x-access-token': 'some_token'
  },
  contentType: 'application/json',
  dataType: 'json',
  data: {
    myArray: test_array
  },
  success: function () {
    console.log('success!');
  },
  error: function (a, b, c) {
    console.log(a);
    console.log(b);
    console.log(c);
  }
});