我正在尝试使用如下所示的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
filter
request.query_params
request.query_params.get('filter')
none
您需要序列化参数,并且可以通过编写 此github问题中 提到的小配置来完成,
通常,您可以在应用程序的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; });
从axios 0.18.0开始:
// main.js import axios from "axios"; import Qs from 'qs'; // Format nested params correctly axios.interceptors.request.use(config => { config.paramsSerializer = params => { // Qs is not included in the Axios package return Qs.stringify(params, { arrayFormat: "brackets", encode: false }); }; return config; });