记录一个小问题,关于分页查询套餐
前台通过axios异步请求获取后台数据alert弹出数据提示undefined
下面有三个bean
PageResult
/**
* 分页结果封装对象
*/
public class PageResult implements Serializable {
//总记录数
private Long total;
//当前页结果
private List rows;
//get,set方法省略
....
}
QueryPageBean
/**
* 封装查询条件
*/
public class QueryPageBean implements Serializable {
//页码
private Integer currentPage;
//每页记录数
private Integer pageSize;
//查询条件
private String queryString; //get,set方法省略
....
}
Result
/**
* 封装返回结果
*/
public class Result implements Serializable {
//执行结果,true为执行成功 false为执行失败
private boolean flag;
//返回结果信息,主要用于页面提示信息
private String message;
//返回数据
private Object data;
//get,set方法省略
....
}
Controller层
//返回给前台的是一个Result对象
@RequestMapping("/findSetmeal")
public Result findSetmeal(@RequestBody QueryPageBean queryPageBean) {
try {
//service层返回的是一个PageResult对象
PageResult page = setmealService.findPage(queryPageBean);
return new Result(true, MessageConstant.QUERY_SETMEALLIST_SUCCESS, page);
} catch (Exception e) {
return new Result(false, MessageConstant.QUERY_SETMEALLIST_FAIL);
}
}
前台,获取后台数据alert提示undefined,红色代码为错误示例,由于返回的是一个Result对象,Result对PageResult又进行了封装
//分页查询
findPage() {
//设置参数
var param = {
currentPage: this.pagination.currentPage,
pageSize: this.pagination.pageSize,
queryString: this.pagination.queryString,
};
axios.post("/setMeal/findPage.do", param).then((response) => {
// alert(response.data.flag);
// alert(response.data.total);
// alert(response.data.rows);
this.dataList = response.data.rows;
this.pagination.total = response.data.total;
this.dataList = response.data.data.rows;
this.pagination.total = response.data.data.total;
})
},