修改request.js
原文件中,请求拦截器要携带token、响应拦截器做了一些校验,在这里都不需要了,改成下面代码:
注意:
- 返回数据中要有 status 属性
- 返回数据中要有 message 属性
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
const service = axios.create({
baseURL: "http://localhost:8080", // url = base url + request url
withCredentials: true, // 发送 cookies
timeout: 5000 // request timeout
})
// response interceptor
service.interceptors.response.use(
response => {
const res = response.data
if (res.status !== 0) { // ※※※※※※ 注意:返回数据中要有 status 属性
Message({
message: res.message || 'Error', // ※※※※※※ 注意:返回数据中要有 message 属性
type: 'error',
duration: 5 * 1000
})
return Promise.reject(new Error(res.message || 'Error'))
} else {
return response
}
},
error => {
console.log('err' + error) // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
export default service
使用
引入 request.js
import request from '@/utils/request'
调用
登录:
request({
url: '/login',
data:this.loginForm,
method: 'post',
})
.then((res) => {
console.log(res);
console.log(res.data)
if(res.data.status == 0){
this.$router.push({ path: this.redirect || '/' })
}else{
this.$message.error(res.data.message);
}
this.loading = false
})
.catch(function (error) {// 请求失败处理
console.log(error);
this.loading = false
});
其他请求:
request({
url: '/patient/list',
data:{
name: this.name,
},
method: 'post',
}).then( (res) => {
console.log(res.data.list);
this.tableData=res.data.list
this.total=res.data.total // 总共记录数
this.loading=false // 取消loading
})
.catch(function (error) {// 请求失败处理
console.log(error);
});