当我尝试使用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;
}
答案 0 :(得分:2)
已解决
myArray被定义为状态下的数组 myArray:[]
问题是axios无法识别该问题,尽管提交后myArray的状态为[“ key”:“ value”,“ key2”:“ val2”]提交后仍会像以下myArray这样发送:[] < / p>
所以我将初始状态更改为myArray:{} 现在它发送键值对象{“ key”:“ value”,“ key2”:“ val2”}而不是数组,一切正常