Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 1 год назад.
Есть задача, чтобы сделать GET запрос через axios, при том чтобы параметры не попадали в url, то бишь после запроса вместо /catalog/rings/?PAGE=1, сохранялся просто /catalog/rings/.
async getData({
state,
commit
}, payload = {}) {
const {
options = {}, params = {}, method = 'get'
} = payload;
const req_url = `${window.location.pathname}?json=y`;
await axios(req_url, {
params,
})
.then((response) => {
const {
data
} = response;
if (options.merge === true) {
commit('MERGE_ITEMS', data);
} else {
commit('SET_DATA', data);
commit('SET_DATA_FILTERS', data);
}
commit('SET_STATUS', 'end');
})
.catch((error) => {
console.error(error);
commit('SET_STATUS', 'end');
});
}
Axios возвращает промис, поэтому в методе then(в случае успеха) работаем с данными (ответом), которые будут содержаться в response. В случае ошибки запроса результат промиса будет в catch
axios.get('/catalog/rings/', {
params: {
page: 1,
sort: 'asc',
type: 'rock',
// ...
}
}).then((response) => {
// do somthing
}).catch((error) => {
console.log(error);
});
Читайте документацию. На гитхабе отличный пример.
UPD Параметры (у вас — params) — это объект. Пример передачи параметров в снипете или в params запишите данные ключ:значение.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей