Как я могу заставить ax ios отправить пустой массив? - PullRequest
0 голосов
/ 14 марта 2020

Я отправляю массив целых чисел с топором ios из приложения vue. js, метод PATCH.

Если есть значения, данные передаются, как ожидается.

Но если их нет (например, все элементы, удаленные из мультиселектора), то полезная нагрузка пуста. Мне нужно отправить его, чтобы элементы можно было удалить из базы данных, что вполне нормально.

Мой метод обновления следующий:

 update({ commit, dispatch }, data) {
    return new Promise((resolve, reject) => {
      const params = {};
      params[data.name] = data.value;
      console.log(params)
      axios({ url: '/api/' + module + '/' + data.id, params, method: 'PATCH' })
        .then(response => {
          //Replace the full object in the store with the one we get back from the patch operation
          commit('update', response.data.data);
          dispatch('postUpdate', data)
          resolve(response)
        })
        .catch(err => {
          reject(err)
        })
    })

Моя консоль. log подтверждает, что массив params - это то, что я ожидаю

Object { data_items: [] }

Но сетевой запрос показывает, что он удален и ничего не опубликовано.

Я также могу подтвердить, что когда я делаю Если выбраны любые значения, запрос работает как ожидается и отправляется на сервер для сохранения.

Например

Запрос на заполненный выбор http: // / api / projects / 16? data_items [] = 2

Запрос на опустошенный выбор - без параметров запроса http://example.com/api/processes/16

Как я могу заставить ax ios отправить пустой массив?

...