我正尝试使用以下URL搜索参数发送请求,但无法访问服务器端的嵌套对象 过滤器 。
axios.get('/get handler', {
params: {
room: 1,
filter: {
fan: 2,
table: 1,
}
});
我可能做错了什么?
我正在服务器端使用 Django restFramework 3,但无法访问该方法中的filter
键。我正在使用request.query_params
访问查询参数,但是当我执行request.query_params.get('filter')
时会得到none
答案 0 :(得分:3)
您需要序列化参数,并且可以通过编写this github issue中提到的小配置来完成,
通常,您可以在应用程序的main.js文件或顶级文件中使用此配置,但这又取决于您何时执行它
// main.js
import axios from "axios";
// Format nested params correctly
axios.interceptors.request.use(config => {
window.console.log(config);
config.paramsSerializer = params => {
// Qs is already included in the Axios package
return Qs.stringify(params, {
arrayFormat: "brackets",
encode: false
});
};
return config;
});