报Property 'content' does not exist on type 'AxiosResponse'
vue的axios请求返回值调取时报下面这错误
Property 'content' does not exist on type 'AxiosResponse<any>'.Vetur(2339)
import axios from "axios"
import { AxiosResponse, AxiosRequestConfig } from 'axios';
import { baseUrl } from "./config";
import Router from "../router"
import { Notify } from "vant";
import { removeToken } from "./auth";
const service = axios.create({
baseURL: baseUrl.api,
timeout: 50000, // request timeout
withCredentials: true // 允许携带cookie
})
service.interceptors.request.use(
(config: AxiosRequestConfig) => {
// // Do something before request is sent
// if (store.getters.token) {
// // 让每个请求携带token-- ["X-Token"]为自定义key 请根据实际情况自行修改
// config.headers.token = "weoruiwer-werhjlwejri-vldmfv"
// }
config.withCredentials = true
return config
},
error => {
Promise.reject(error)
}
)
// response interceptor
service.interceptors.response.use(
// response => response,
/**
* 下面的注释为通过在response里,自定义code来标示请求状态
* 当code返回如下情况则说明权限有问题,登出并返回到登录页
* 如想通过 xmlhttprequest 来状态码标识 逻辑可写在下面error中
* 以下代码均为样例,请结合自生需求加以修改,若不需要,则可删除
*/
(res:AxiosResponse) => {
const data = res.data
if (data.code !== 0) {
if (data.code === 1000) {
// console.log("账号或密码错误")
Notify({ type: "danger", message: "账号或密码错误" });
} else {
Notify({ type: "danger", message: data.msg });
removeToken()
// Router.push("/login")
}
return Promise.reject(data)
} else {
return res.data
}
},
error => {
console.warn("err" + error); // for debug
Notify({ type: "danger", message: "网络连接错误" });
return Promise.reject(error);
}
);
export default service;
调用时显示类型错误,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
解决方法是新增一个 axios.d.ts 文件,内容如下
就可以解决了
来自https://xn--nf1a578axkh.xn--f...
toPomise() 可以省去定义interface
好家伙 我也遇到了,但不知道原理是什么,为啥那样加就可以解决问题?