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

问题描述 投票:1回答:1

当我尝试使用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;

}

reactjs post axios
1个回答
2
投票

解决了

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

问题是,axios没有认识到这一点,虽然post之前myArray的状态是[“key”:“value”,“key2”:“val2”]提交之后会像这样发送myArray:[]

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

© www.soinside.com 2019 - 2024. All rights reserved.