qq_44136945
非战斗单位
2020-10-27 20:02
采纳率: 66.7%
浏览 107

vue新手相关,涉及调用api方法(go服务器)发送数据

现在我写了一个vue,使用了api的方法,想要发送数据给后台,那我应该如何写这个方法呢,使得后台能接收到这个json

//调用的方法
import { changePassword } from "@/api/user";

//api里面的方法
// @Summary 修改密码
// @Produce  application/json
// @Param data body {username:"string",password:"string",newPassword:"string"}
// @Router /user/changePassword [post]

export const changePassword = (data) => {
        return service({
                url: "/user/changePassword",
                method: 'post',
                data: data
        })
}

//表单数据
ruleForm: {
        id: '',
        oldpass: '',
        pass: '',
        checkPass: ''
      },

//需要重写的方法
methods: {
    submitForm(){
      let data = this.ruleForm;
      changePassword(data);
    },

//服务器里的映射
// Modify password structure
type ChangePasswordStruct struct {
    Username    string `json:"id"`
    Password    string `json:"oldpass"`
    NewPassword string `json:"checkPass"`
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qq_43656607
    放风喽 2020-10-27 20:51
    已采纳

    我自己封装的axios,全局引用,http

    submit() {
          // 让按钮处于加载状态,防止连续点击
          this.loadXianshi = true
                # 如果验证成功
          if (!this.$v.$invalid) {
            const  data = {username:this.name,password: this.password}
                    # 你要的提交方法
            this.http
              .post("user/login/",data)
              .then(res=>{
                  if(res.status == 200 | res.status == 201){
                    // 登录成功,消息条提示成功信息,将用户信息存入vuex,关闭登录框,按钮处于可用状态
                    this.tanchuang("登录成功")
                    this.firstLogin(res)
                    this.changedengluluang(false)
                    this.loadXianshi = false
                    // 登录成功,将登录状态改为1
                    this.changedenglustatus(1)
                    // 登录成功,清空登录框的信息
                    this.clear()
                  }else{
                    // 登录失败,消息条提示错误信息,按钮处于可用状态
                    console.log(typeof res.data.data.join(","));
                    console.log(typeof res.data.data[0]);
                    console.log(res.data.data[0],res.data.data.join(","));
                    this.tanchuang(res.data.data.join(","))
                    this.loadXianshi = false
                  }
              })
              .catch(err=>{
                // 如果出错,在消息条显示错误,按钮处于可用状态
                  this.tanchuang(err)
                  this.overlay = true
                  this.loadXianshi = false
              });
          }else{
            setTimeout(this.loadXianshi = false, 500 )
          }
        },
    
    点赞 评论

相关推荐