vue.js 中的 $http.get() 与 axios.get() 有啥区别?

Posted

技术标签:

【中文标题】vue.js 中的 $http.get() 与 axios.get() 有啥区别?【英文标题】:What is difference between $http.get() vs axios.get() in vue.js?vue.js 中的 $http.get() 与 axios.get() 有什么区别? 【发布时间】:2020-07-22 00:16:55 【问题描述】:

我有点搞不懂$http.get()axios.get() 之间的主要区别。

我查看了很多资源,但没有得到任何满意的答案。谁能帮帮我?

【问题讨论】:

除了打电话的客户外别无他物。 this.$http 甚至可以是 axios 的一个实例。 @DigitalDrifter 都做同样的事情?基本上主要区别是什么? Axios 是一个流行的 3rd 方 http 客户端。 this.$http 只是一个引用 http 客户端实例的属性。最终调用是相同的。 【参考方案1】:

正如在source code 中所见,vue-axios 插件所做的唯一一件事就是为 Vue 实例和使用它的组件提供$http 属性。

这是依赖注入的一种形式,有两个目的:

this.$http 可以在 Vue 组件中访问,而不是随处携带 import axios from './my-axios-instance',这在非模块化环境中或当基 axios 在某些时候重构为 axios.create() 实例时特别有用

可以将 Axios 实例交换为 Vue 组件的层次结构,例如为功能模块配置了不同的基本 URL 或标头

【讨论】:

【参考方案2】:

$http 可能是你在 vuejs 项目中定义的全局变量,请在你的项目中搜索 $http,你可能会发现它只是 axios 的实现,它可以让你轻松访问你的 axios 库全局配置。

axios 是一个能够发送和接收 Http 请求的库 在这里查看axios library。

所以简而言之,它们是相同的

【讨论】:

以上是关于vue.js 中的 $http.get() 与 axios.get() 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

使用 vue.js 的 get/post请求错误 “ Cannot read property 'get' of undefined”

vue-resource.js的get和post的正确用法

Vue.js 与 laravel 5.3

我如何在 vue js 中从 this.$http.get 返回数据

在 Vue JS 中的表格内显示图像以及基本 url (Laravel 5.2)

用于实现级联下拉列表的 Vue.js 和 django rest 框架