1、关于axios的post请求时Content-Type为: "application/x-www-form-urlencoded",此时请求参数不是在requestBody中,试了好几种写法,结果请求参数都是在requestbody中不行,最后用qs.stringify()方法解决了问题
代码语言:javascript复制import qs from "query-string";
export interface query {
username: string,
name: string,
pageIndex: number,
pageSize: number,
department: number,
mobile: string
}
export function userList(data: query) {
return axios.post("/user/list", qs.stringify(data));
}
2、还有一个是在分页查询的时候,我定义了一个默认的查询参数query,并给其中的一些参数设置了默认值,然后分页查询页面有个重置按钮,点击会清空所有的查询条件,重置为初始值
代码语言:javascript复制const query = reactive({
username: "",
name: "",
pageIndex: 1,
pageSize: 10,
department: "",
mobile: "",
isRead: false
});
//重置调用方法
function resetQuery() {
query = {
username: "",
name: "",
pageIndex: 1,
pageSize: 10,
department: "",
mobile: "",
isRead: false
};
getUserList();
}
但是这样写发现会抱错,并且即便我把const换成let,但是点击重置按钮,查询条件并没有被重置,最后的解决方法是把查询条件再包一层,赋值给data,在resetQuery方法中 data.query重置查询参数就可以实现
代码语言:javascript复制 const query = reactive({
data: {
username: "",
name: "",
pageIndex: 1,
pageSize: 10,
department: "",
mobile: "",
isRead: false
}
});
//重置调用方法
function resetQuery() {
query.data = {
username: "",
name: "",
pageIndex: 1,
pageSize: 10,
department: "",
mobile: "",
isRead: false
};
//调用分页查询接口,刷新页面数据
getUserList();
}