問題:vue前端表單數據post提交之后,后台controller拿不到值
前言:今天做多條件查詢提交表單之后,發現后台拿不到值,在后端controller加上
@RequestBody
還是拿不到,最后,使用qs完美解決了問題
項目環境:springboot+vue前后端分離
代碼貼出來供參考:
重點在於:
var qs = require('querystring')
qs.stringify(this.formInline)
vue-page
/*多條件查詢方法*/
onsubmit(formName) {
const _this = this
this.$refs[formName].validate((valid) => {
if (valid) {
var qs = require('querystring')
axios.post("http://localhost:8181/Task/getMoreAllTasks/1/4/", qs.stringify(this.formInline)
).then(function (resp) {
_this.tableData = resp.data.list
_this.total = resp.data.total
});
} else {
return false;
}
});
},
controller層
//多條件查詢任務信息
@PostMapping("/getMoreAllTasks/{page}/{size}")
public PageInfo<Task> getAllTasks(@RequestBody @PathVariable("page") int pageNo, @PathVariable("size") int pageSize, String taskTitle, String taskState, String taskBuilder, String startTime, String endTime) {
PageHelper.startPage(pageNo, pageSize);
//執行查詢所有部門方法
List<Task> allTasks = taskService.getAllTask(taskTitle, taskState, taskBuilder, startTime, endTime);
PageInfo<Task> interPageInfo = new PageInfo<Task>(allTasks);
return interPageInfo;
}
至此,問題就解決了