Я отправляю массив целых чисел с аксиомами из приложения vue.js, метод PATCH.
Если есть значения, to data передаются, как и ожидалось.
Но если их нет (например, все элементы удалены из мультиселекта), то полезная нагрузка пуста. Мне нужно, чтобы его отправили, чтобы элементы можно было удалить из базы данных, довольно обычный вариант использования.
Мой метод обновления выглядит следующим образом:
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)
})
})
Мой console.log подтверждает, что массив params соответствует моим ожиданиям.
Object { data_items: [] }
Но сетевой запрос показывает, что он удаляется и ничего не публикуется.
Я также могу подтвердить, что когда я выбираю любые значения, запрос работает должным образом и отправляется на сервер для сохранения.
Например
Запрос заполненного выбора http:///api/processes/16?data_items[]=2
Запрос на пустое выделение — параметры запроса отсутствуют http://example.com/api/processes/16
Как я могу заставить axios отправлять пустой массив?