Привет,
Я ищу, но не могу найти способ сделать это. В основном я хочу отправить запрос GET с таким параметром массива
GET /comments?filter[post]=3&filter[author]=12
Я пробовал это
params: {
filter: {post: 3, author: 12}
}
Но все равно не повезло :(
Намек?
Спасибо
Привет @ghprod , прежде всего, я хочу прояснить, что я не участвую в этой библиотеке и не использую ее, но я проходил мимо, увидел эту проблему и решил немного изучить код.
Axios не поддерживает такую кодировку по умолчанию, но позволяет вам предоставить собственный сериализатор. Вы можете легко сделать это с помощью следующего кода:
// Axios include here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: customSerializerFunc
});
Чтобы упростить задачу, я немного погуглил библиотеки сериализатора запросов и нашел qs, который поддерживает браузеры и nodejs. Вы можете использовать его как сериализатор следующим образом:
// Include axios and qs here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: qs.stringify // If this doesnt work, append .bind(qs) to the end of this line.
});
Возможно, вы увидите это: filter%5Bpost%5D=3
вместо filter[post]=3
, потому что кодировка URL включена. Вы можете отключить его так:
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: function(params) {
return qs.stringify(params, { encode: false });
}
});
Сообщите мне, сработало ли это.
С Уважением.
Работает ..: +1:
Большое спасибо @ngonzalvez
Хорошего дня :)
привет, мне нужна помощь по поводу axios - как мне получить значение из ввода и поместить его в качестве значения параметра для axios.get; скажем, для функции поиска, которую я создаю - часть URL-адреса является параметром запроса.
вот код
аксиомы
.get ('http: // localhost: 8080 / customer / search? hint = da')
где подсказка = "searchText"
пожалуйста помоги.
Благодарность!
Самый полезный комментарий
Привет @ghprod , прежде всего, я хочу прояснить, что я не участвую в этой библиотеке и не использую ее, но я проходил мимо, увидел эту проблему и решил немного изучить код.
Axios не поддерживает такую кодировку по умолчанию, но позволяет вам предоставить собственный сериализатор. Вы можете легко сделать это с помощью следующего кода:
Чтобы упростить задачу, я немного погуглил библиотеки сериализатора запросов и нашел qs, который поддерживает браузеры и nodejs. Вы можете использовать его как сериализатор следующим образом:
Возможно, вы увидите это:
filter%5Bpost%5D=3
вместоfilter[post]=3
, потому что кодировка URL включена. Вы можете отключить его так:Сообщите мне, сработало ли это.
С Уважением.