koa2 ctx.request.query 在我发出 ajax 请求时没有定义,但是当我在邮递员中发出这个“发布”请求时它工作正常。
在邮递员中,我可以获取查询对象 在此处输入图像描述
但是通过 axios 在此处输入图片描述
我的请求代码是
<template>
<div id="login">
<mt-field label="用户名" placeholder="请输入用户名" v-model="username"></mt-field>
<mt-field label="密码" placeholder="请输入密码" type="password" v-model="password"></mt-field>
<mt-button type="primary" @click="login">primary</mt-button>
</div>
</template>
<script>
import Axios from 'axios'
export default {
name: 'login',
data () {
return {
username: '',
password: ''
}
},
mounted(){
console.log(Axios)
},
methods: {
login(){
var username = this.username;
var password = this.password;
Axios({
method: 'post',
url: "api/user/login",
data: {
username: username,
password: password,
},
}).then((res)=>{
console.log(res)
if(res.data.code !== 200) {
console.log("登录失败")
}
});
}
}
}
</script>
后端:
'POST /api/user/login': async (ctx, next) => {
ctx.response.type = 'application/json;charset=utf-8';
console.log(ctx.request.query)
await Db.User.login(ctx.query)
.then(function(res){
ctx.response.body = res
});
}
我认为 koa2 ctx.request.query 中存在一些问题,如果它只接收特定的“表单”