首先,我现在在 html 中使用 cdn script 标签来使用 axios。
在中api.js
,我创建了这样的 axios 实例:
const api = axios.create({
baseURL: "/api",
});
export default {
test: () => api.get("/test/results"),
};
我在另一个 js 文件 ( test.js
) 中使用它,如下所示:
import API from "/api.js";
const getSearchData = async () => {
try {
const res = await axios(API.test());
console.log(res);
} catch (error) {
console.error(error);
}
};
然后我遇到了以下错误并且也console.log(res);
没有工作。
TypeError: Cannot read property 'protocol' of undefined
at isAxiosError.js:10
at isAxiosError.js:10
at new Promise (<anonymous>)
at e.exports (isAxiosError.js:10)
at e.exports (isAxiosError.js:10)
at async getSearchData (test.js:17)
但是在网络面板(chrome浏览器)中,它运行得很好。它的状态码是 200。
Request URL: http://localhost:3000/api/test/results
Request Method: GET
Status Code: 200 OK
Remote Address: [::1]:3000
Referrer Policy: strict-origin-when-cross-origin
我无法理解。我该如何解决?我不知道怎么了...
你不需要在axios
这里第二次打电话await axios(API.test());
。您api
已经是axios
您axios.create
之前使用call制作的实例。
所以只需将代码更改为:
import API from "/api.js";
const getSearchData = async () => {
try {
const res = await API.test();
console.log(res);
} catch (error) {
console.error(error);
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句