React js和axios POST请求发送空数组

时间:2018-09-07 13:19:35

标签: reactjs post axios

当我尝试使用axios发布到其他服务器时 它首先发送OPTIONS请求,然后发送POST。 当我检查网络连接时 它发送带有我想要的字段的对象 只是this.state.array为空。

当我在发送它之前将它调试为非空时,这很奇怪吗?

var someProperty="value";

const objectToSend = {
  content: this.state.myArray,
  prop1: someProperty,
  abc:'3456'
};

console.log('user obj------->',objectToSend); //  everything is fine { content: Array(0), prop1: 'value', abc:'3456'}

  axios.post('http://server:8544/api/post', objectToSend)
          .then(function (response) {

            }) //  it sends { content: [], prop1: someProperty, abc:'3456'}

//更新数组状态的方法(或者精确地说是键值对)

  processAnswer(q, a) {

var key = q;
var val = a;

this.state.myArray['\"'+key+'\"'] = val;

}

1 个答案:

答案 0 :(得分:2)

已解决

myArray被定义为状态下的数组 myArray:[]

问题是axios无法识别该问题,尽管提交后myArray的状态为[“ key”:“ value”,“ key2”:“ val2”]提交后仍会像以下myArray这样发送:[] < / p>

所以我将初始状态更改为myArray:{} 现在它发送键值对象{“ key”:“ value”,“ key2”:“ val2”}而不是数组,一切正常