une*_*et7 6 get django-rest-framework reactjs axios
我正在尝试使用 URL 搜索参数发送请求,如下所示,但我无法访问服务器端的嵌套对象过滤器。
axios.get('/get handler', {
params: {
room: 1,
filter: {
fan: 2,
table: 1,
}
});
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
我在服务器端使用Django restFramework 3,但我无法访问filter该方法中的密钥。我使用的访问查询参数request.query_params ,但是当我这样做request.query_params.get('filter'),我得到none
Shu*_*tri 10
您需要序列化您的参数,并且可以通过编写此 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;
});
Run Code Online (Sandbox Code Playgroud)
从 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;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4204 次 |
| 最近记录: |