vue用axios时报错:Cannot read property 'protocol' of undefined!

发布于 2022-09-05 06:31:40 字数 1004 浏览 10 评论 0

import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)
Vue.use(axios)

报错信息:

isURLSameOrigin.js?cf95:57 Uncaught (in promise) TypeError: Cannot
read property 'protocol' of undefined

at isURLSameOrigin (eval at <anonymous> (app.js:929), <anonymous>:57:21)
at dispatchXhrRequest (eval at <anonymous> (app.js:754), <anonymous>:108:50)
at Promise (<anonymous>)
at xhrAdapter (eval at <anonymous> (app.js:754), <anonymous>:12:10)
at dispatchRequest (eval at <anonymous> (app.js:866), <anonymous>:52:10)

报错截图:

图片描述

但是,通过原型方式使用就正常

import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)
Vue.prototype.$ajax = axios

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

笑脸一如从前 2022-09-12 06:31:40

为啥老有人认为 axios 是一个vue插件。。话说哪里有写让你 Vue.use(axios) 来使用的。。

七月上 2022-09-12 06:31:40

除了上面的原因,发现还有一个原因也会报这个错,就是当url是undefined的时候

余生再见 2022-09-12 06:31:40

main.js引入
import axios from 'axios'
Vue.prototype.$http = axios

组件中使用:
this.$http.post()

诗酒趁年少 2022-09-12 06:31:40

Vue.prototype.axios = axios

this.axios

俯瞰星空 2022-09-12 06:31:40

如果你要用axios在vue上,可以去github搜索一下,有一个vue-axios,让你的vue实例中增加axios。

飘然心甜 2022-09-12 06:31:40

安装其他插件的时候,可以直接在 main.js 中引入并使用 Vue.use()来注册,但是 axios并不是vue插件,所以不能 使用Vue.use(),所以只能在每个需要发送请求的组件中即时引入。

为了解决这个问题,我们在引入 axios 之后,通过修改原型链,来更方便的使用。

独木成林 2022-09-12 06:31:40

import axios from 'axios';
import vueAxios from 'vue-axios'; //得npm i vue-axios

Vue.use(vueAxios,axios);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文