小兔鲜登录问题,状态码500

调用小兔鲜登录接口,输入账户和密码,控制台返回状态码500,

img

网络的负载里说账户和密码为空,不知道哪里错了,求指教,感谢感谢

img

img

代码如下:


<script setup>
import {ref} from 'vue'

const form= ref({
  account:'',
  password:'',
  agree: true
})

const rules=({
  account:[{required:true,message:'请输入用户名',trigger:'blur'}],
  password:[
    {required:true,message:'密码不能为空',trigger:'blur'},
    {min:6,max:14,message:'密码长度要求6-14个字符',trigger:'blur'}
],
  agree:[{
      validator:(rule,value,callback)=>{
        // console.log(value);
        if(value){
          callback()
        }
        else{
          callback(new Error('请勾选协议'))
        }
      }
}]
})

// 统一校验
const {account,password}=form.value
import { useRouter } from 'vue-router';
const router=useRouter()
import {login} from '@/apis/user'
const formRef=ref(null)
const doLogin=()=>{
  formRef.value.validate(async(valid)=>{
    console.log(valid);
    if(valid){
      const res=await login({account,password})
      console.log(res);
      ElMessage({
         showClose: true,
         message: '登录成功',
         type: 'success',
         })
        router.replace({path:'/'})
    }
  })
}


</script>


<template>
          <div class="form">
            <el-form ref="formRef" :model="form" :rules="rules" label-position="right" label-width="60px"
              status-icon>
              <el-form-item prop="account" label="账户">
                <el-input v-model="form.account"></el-input>
              </el-form-item>
              <el-form-item prop="password" label="密码" >
                <el-input v-model="form.password"></el-input>
              </el-form-item>
              <el-form-item prop="agree" label-width="22px">
                <el-checkbox  size="large" v-model="form.agree">
                  我已同意隐私条款和服务条款
                </el-checkbox>
              </el-form-item>
              <el-button size="large" class="subBtn" @click="doLogin">点击登录</el-button>
            </el-form>
          </div>
        </div>
      </div>
    </section>

api的代码


import requests from '@/utils/http'

export const login = ({ account, password }) =>
    requests({ url: '/login', method: 'post', data: { account, password } })

这个你打开浏览器的f12,切换到网络抓包,然后浏览器登录,看用户名密码是通过什么形式提交的。

31行下面打印一下账户密码 可能没结构出来

解决了

{account:form.value.account,
          password:form.value.password}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^