【发布时间】:2021-06-20 18:46:11
【问题描述】:
第一次发现这样的API,params key里面的form是个数组但可能不是数组,在axios中是怎么实现的?
{baseUrl}/list?filter[v3_p.name]=Package Data&filter[pro.name]=Indosat&filter[pp.category]=Voucher&filter[pd.is_enable]=1
我在 axios 中的代码是这样的:
export const filterProduk = (data) => async (dispatch) => {
try {
const params = { filter: data }
const res = await axios.get(`${baseUrl}/list`, data, {
params,
paramsSerializer: function paramsSerializer(params) {
return Object.entries(Object.assign({}, params, { filter: 'HIDDEN' })).map(([key, value]) => `${key}=${value}`).join('&')
}
});
dispatch({
type: FILTER_SUCCESS,
payload: res.data.data
});
} catch (error) {
dispatch({
type: FILTER_FAILED,
payload: error.response.data,
});
}
};
我也试过了
export const filterProduk = (data) => async (dispatch) => {
try {
const res = await axios.get(`${baseUrl}/list`, data, {
params: {
filter: [data.package, data.provider, data.category, data.is_enable]
}
});
dispatch({
type: FILTER_SUCCESS,
payload: res.data.data
});
} catch (error) {
dispatch({
type: FILTER_FAILED,
payload: error.response.data,
});
}
};
我没有在任何文档中得到它,希望在这里得到答案! 谢谢你
【问题讨论】:
标签: javascript reactjs api axios