这样写怎么会得不到参数

代码是这样写的
main.js里面:

import axios from 'axios'

Vue.prototype.$http = axios

axios.defaults.timeout = 5000 // 响应时间
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' // 配置请求头
axios.defaults.baseURL = 'http://127.0.0.1:8081/admin/' // 配置接口地址
 /* 登录表单 */
      loginForm: {
        username: 'admin',
        password: '123456'
      },
 /* 登录的的点击事件 */
    valLoginFrom () {
      this.$refs.loginRef.validate(async valid => {
        if (valid) {
          console.log(this.loginForm)
          const {data: res} = await this.$http.post('login', this.loginForm)
          console.log(res)
        }
      })
    }

浏览器响应结果:
图片说明

3个回答

// 这样写试试

valLoginFrom () {
            let _this = this
      _this.$refs.loginRef.validate(async valid => {
        if (valid) {
          console.log(_this.loginForm)
          const {data: res} = await _this.$http.post('login', _this.loginForm)
          console.log(res)
        }
      })
    }
qq_42094745
蹭学源 用的post请求,应该是这样带参数呀
7 个月之前 回复
qq_42094745
蹭学源 回复嗄哩露吖: 是的 走过这个接口,已请求过后台,就是参数带不过去
7 个月之前 回复
qq_42094745
蹭学源 还是不行
7 个月之前 回复
shamingzimeiyou
嗄哩露吖 接口报400了说明已经走到调用接口这一步了,所以应该不是this指向的问题,而且他用的还是箭头函数,不会改变this指向的
7 个月之前 回复

应该是你提交参数的问题,看一下你提交的 this.loginForm是否转化为字符串类型,或者问一下后端需要传什么类型的参数过去,可以参考一下这个https://blog.csdn.net/qq_32963841/article/details/82784097

shamingzimeiyou
嗄哩露吖 回复蹭学源: 你跟后台约定的传参名字是loginForm吗?你这是直接打印出来的this.loginForm吧,放到接口里面就只有后面的大括号里面的东西了
7 个月之前 回复
qq_42094745
蹭学源 loginForm: {username:'admin',passworrd:'123456'} 这样的
7 个月之前 回复
qq_42094745
蹭学源 loginForm: {username:'admin',}
7 个月之前 回复
shamingzimeiyou
嗄哩露吖 回复蹭学源: 后台需要的参数应该是key:{value}的形式吧,你这样给他传过去的是不是只有value,只有大括号里面的东西,好像少了key值
7 个月之前 回复
shamingzimeiyou
嗄哩露吖 回复蹭学源: 你的this.loginForm是空的?
7 个月之前 回复
qq_42094745
蹭学源 不是转换的问题,是没有带到参数就去请求接口,才报错的
7 个月之前 回复

你应该把整个vue文件的代码贴出来,

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐