vue 获取数据为什么获取不到已经更新的数据?

1.去后台获取数据,可以获取的到。
2.之后在提交数据(更新表单),确认表单数据提交上去了。在获取数据,获取不到已经修改的数据,这是为什么?

这是表单:

<el-dialog title="修改个人资料" :visible.sync="personalDetailVisible">
  <el-form :model="personalForm" :rules="personalFormRules" ref="ruleForm2">
    <el-form-item label="用户名" prop="personUserName">
      <el-input v-model="personalForm.personUserName" :disabled="true"></el-input>
    </el-form-item>

    <el-form-item label="QQ" prop="qq">
      <el-input placeholder="请输入QQ号" v-model="personalForm.qq"></el-input>
    </el-form-item>

    <el-form-item label="微信" prop="weixin">
      <el-input placeholder="请输入微信号" v-model="personalForm.weixin"></el-input>
    </el-form-item>

    <el-form-item label="手机" prop="cellphone">
      <el-input placeholder="请输入手机号" v-model="personalForm.cellphone"></el-input>
    </el-form-item>

    <el-form-item label="邮箱" prop="email">
      <el-input placeholder="请输入邮箱" v-model="personalForm.email"></el-input>
    </el-form-item>

    <el-form-item label="电话" prop="phone">
      <el-input placeholder="起输入电话号码" v-model="personalForm.phone"></el-input>
    </el-form-item>

    <el-form-item label="所属部门" prop="department">
      <el-input placeholder="起输入所属部门" v-model="personalForm.department"></el-input>
    </el-form-item>

    <el-form-item label="角色" prop="role">
      <el-input v-model="personalForm.role" :disabled="true"></el-input>
    </el-form-item>
    <el-button type="primary" @click="savePerDetail('ruleForm2')">更新</el-button>
    <el-button type="primary" @click="changePerDetGoBack">返回</el-button>
  </el-form>
</el-dialog>

这是获取数据的JS:

  getuserdata() {
    let _this = this;
    this.$axios({
      method: "post",
      url: "/api/authController/getMenus",
      data: qs.stringify({
        token: this.token
      })
    }).then((response) => {
      console.log(response)
      let res = response.data.message.user;
      _this.username = res.username;
      _this.gender = res.gender;
      _this.qq = res.qq;
      _this.dianhua = res.phone;
      _this.wechat = res.wechat;
      _this.phone = res.mobile;
      _this.email = res.email;
      _this.realname = res.realname;
      _this.position = res.position;
      _this.department = res.department;
      if (res.roleCode === "user") {
        _this.roleCode = "用户"
      }
      if (res.roleCode === "administartor") {
        _this.roleCode = "管理员"
      }
    })
  },
  
  这是提交数据的JS:
        // 更新个人资料按钮
  savePerDetail(formName) {
      let _this = this;
      this.$refs[formName].validate((valid)=>{
        if (valid) {
          this.$axios({
            method: 'post',
            url:'/api/userController/update',
            data: qs.stringify({
              token: this.token,
              id: this.userId,
              username: this.username,
              qq: this.personalForm.qq,
              wechat: this.personalForm.wexin,
              mobile: this.personalForm.cellphone,
              email: this.personalForm.email,
              phone: this.personalForm.phone,
              department: this.personalForm.department,
            })
          }).then((res)=>{
            console.log(res)
            if (res.data.code === 200) {
              // this.getuserdata();
            }
          })
        }
      })
  },
  
  然后就是获取不到新的提交上去的数据 这是为啥啊? 求大佬解答
阅读 4.2k
1 个回答

1.看你问题的描述应该是你提交给后端之后重新查询数据,获取到的还是旧的数据
2.所以确认一下,你获取到的数据到底是新的还是旧的,是在页面上看到的,还是在浏览器的devtool里看到的
3.如果在devtool看到的是旧的,那么看一下你传的参数是不是有问题,没问题就去找后端
4.如果是devtool看到的是新的,那么就是你的代码写的有问题,页面没有和数据同步

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题