调用小兔鲜登录接口,输入账户和密码,控制台返回状态码500,
网络的负载里说账户和密码为空,不知道哪里错了,求指教,感谢感谢
代码如下:
<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}
不知道你这个问题是否已经解决, 如果还没有解决的话:var arr1 = [{
name: '张三',
age: 66
}, {
name: '李四',
age: 25
}, {
name: '王五',
age: 90
}]
function compare(prop) {
return function(a, b) {
var val1 = a[prop];
var val2 = b[prop];
return val1 - val2
}
}
console.log(arr1.sort(compare('age')));
由于题目描述不够清楚,无法确定问题的具体来源,因此无法给出具体的解决方案。建议先检查代码是否正确、确认账户和密码是否正确、检查网络连接是否正常,并在确定问题所在后再进行具体的解决方案。