pro-dev
@pro-dev

Vue Как отправить такой запрос на api?

Как отправить запрос на api из vue. Запрос выглядит так:
api/events?filter[filter]=123&page=5&sort=-date

Пытаюсь отправить на vue
this.$axios.$get('events', { params: {filter: this.filter.q, page: this.pagination.page, sort: this.sort});

Получается: ?filter={"filter":123}
А нужно ?filter[filter]=123
  • Вопрос задан
  • 712 просмотров
Решения вопроса 1
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
axios использует эту библиотеку ( и про это написано в README библиотеки, поэтому читайте документацию) для серилизации параметров, вот пример того, что вы хотите получить:
var unencoded = qs.stringify({ a: { b: 'c' } }, { encode: false });
assert.equal(unencoded, 'a[b]=c');


Ваши параметры должны быть такими:
{
 params: {
    filter: {filter: this.filter.q},
 },
 paramsSerializer: function (params) {
     return Qs.stringify(params, {arrayFormat: 'brackets', encode: false})
 },
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы