问题
前台操作,更改了数据,显示失败。但是数据库中数据的的确确更改掉了。
1 | editUserInfo() { |
思路
- 数据库中数据被更改掉了,说明前端的put请求是成功的,后台也正常处理掉了。
- 在前端控制台打印日志,查看访问后台后返回的数据是否正常。然而,控制台报错undefined 。
仔细查看前端的数据处理,发现缺少await关键字。这也是为什么报错“undefined ”的原因了,根本就没有对后台返回的数据进行接收处理。处理
添加上await关键字即可。最终代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13editUserInfo() {
this.$refs.editFormRef.validate(async valid => {
if(!valid) { return; }
const {data: res} = await this.$http.put("editUser", this.editForm);
if(res=="success") {
this.$message.success("操作成功");
this.editDialogVisible = false;
this.getUserList();
} else {
this.$message.error("操作失败");
}
});
},归纳
async + await 组合,用于异步处理后台返回的数据。