Реагирует js и axios POST-запрос отправляет пустой массив - PullRequest
0 голосов
/ 07 сентября 2018

Когда я пытаюсь отправить сообщение на другой сервер, используя 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 голосов
/ 10 сентября 2018

решаемые

myArray был определен как массив в состоянии myArray: []

проблема заключалась в том, что axios не распознал это, и хотя состояние myArray до публикации было ["key": "value", "key2": "val2"], после отправки оно будет отправлено так: myArray: []

Итак, я изменил начальное состояние на myArray: {} и теперь он отправляет объект ключа-значения {"key": "value", "key2": "val2"} вместо массива, и все работает нормально

...