开始我使用封装的axios请求能拿到后端验证,可是登录请求没有反应,但是使用swagger发送请求能接收到请求
debug发现后端接收不到请求,最后我用axios.post,没有使用封装的函数,访问后端接口却能能接收到参数
请求代码如下:
submitLogin () {
this.$refs.loginForm.validate((valid) => {
console.log(this.loginForm);
if (valid) {
//postRequest 封装的axios函数
// postRequest('/login', this.loginForm).then(response => {
// alert(JSON.stringify(response));
// console.log(JSON.stringify(response));
// })
// eslint-disable-next-line no-undef
axios.post("http://localhost:8081/login",this.loginForm).then(resp => {
alert(JSON.stringify(resp))
})
}
else {
this.$message.error('请输入所有字段');
return false;
}
});
}
后台debug能接收参数
现在我有几个疑问:
我封装的函数明明可以发送请求,能拿到后端的验证码,而这个/login,就没有反应。
在使用这个axios.post时必须有// eslint-disable-next-line no-undef注释行才能用,其他引用后端都接受不到参数,开始我以为是我引错包了,(我有axios的依赖还有一个axios的插件)我开始逐一的删除排查,发现都没有用只有加了注释这个才能访问到后端接口,希望各位能帮忙解答
这是我封装的post请求
// 响应拦截器
axios.interceptors.response.use(success=> {
//业务逻辑错误
if(success.status && success.status === 200) {
if (success.data.code === 500 || success.data.code === 401 || success.data.code === 403){
Message.error({message:success.data.message});
return;
}
if (success.data.message){
Message.success({message:success.data.message})
}
}return success.data;
},error => {
if (error.response.code === 504 || error.response.code === 404){
Message.error({message:'服务器被吃了( ╯□╰ )'});
}else if(error.response.code === 403){
Message.error({message:'权限不足,请联系管理员!'});
}else if(error.response.code === 401){
Message.error({message:'尚未登录,请登录'});
router.replace('/');
}
else {
if (error.response.data.message){
Message.error({message:error.response.data.message});
} else {
Message.error({message:'未知错误!'})
}
}
return false;
});
let base = '';
//json格式的post请求
export const postRequest = (url, params)=>{
// eslint-disable-next-line no-undef
return axios({
method:'post',
url:'${base}${url}',
data: params
})
把你封装的axios贴出来看看呢,直接post可以访问说明不是axios的问题
应该是云e办哈哈,同问题
这样封装一下 export function postRequest(params) { return request({ url: '"http://localhost:8081/login"', method: 'post', params: params //这里具体看你们的文档怎么规定,是params:params或者data:data }) }