xhr、jQuery、axios、fetch、vue-resource简单了解和对比

1. xhr

  1. 不常用(太麻烦),一般进行二次封装,或者使用成型的第三方封装jQuery,axios等。axios和jQuery都是对xhr的封装。

2. jQuery

  1. 核心是封装Dom操作,80%的内容都是关于Dom的,Vue和React的使用是为了减少自己进行dom操作,所以没有必要引入jQuery, 多数且推荐使用axios。

3. axios

  1. 是promise风格的, 并且支持请求拦截件,和响应拦截器,体积小(大约是jQuery的1/4的体积),Vue和React项目中常用。

  2. 安装:npm i axios

  3. 使用:import axios from 'axios'

    <template>
    <button @click="getStudents">获取学生信息</button>
    </template> <script> import axios from 'axios' export default { name:'App', methods: { getStudents(){ axios.get('http://localhost:8080/students').then( response => { console.log('请求成功了',response.data) }, error => { console.log('请求失败了',error.message) } ) }, }, } </script>

4. fetch

  1. 和xhr平级,都是js中内置的,可以直接使用的,也是promise风格的,缺点:返回数据会被包2层promise,得2次then才能拿到数据,最致命的是他的兼容性问题,不兼容IE浏览器,所以还是推荐axios。

5. vue-resource

  1. vue-resource早期Vue1.0时候使用较多,是Vue团队维护,后面交给了其他团队在维护,是Vue的一个插件库,也是对xhr的封装。目前维护的频率不高,所有还是推荐使用axios。

  2. 安装:npm i vue-rsource

  3. 使用:在main.js中引入和使用插件,然后全局可以使用this.$http.

    //引入Vue
    import Vue from 'vue'
    //引入App
    import App from './App.vue'
    //引入插件
    import vueResource from 'vue-resource'
    //关闭Vue的生产提示
    Vue.config.productionTip = false
    //使用插件
    Vue.use(vueResource)

    //创建vm
    new Vue({
    el:'#app',
    render: h => h(App),
    beforeCreate() {
    Vue.prototype.$bus = this
    },
    })

复制代码
<template>
	<div>
		<button @click="getStudents">获取学生信息</button>
	</div>
</template>

<script>
	export default {
		name:'App',
		methods: {
			getStudents(){
				this.$http.get('http://localhost:8080/students').then(
					response => {
						console.log('请求成功了',response.data)
					},
					error => {
						console.log('请求失败了',error.message)
					}
				)
			},
			
		},
	}
</script>
相关推荐
一锤捌拾18 小时前
V8引擎精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
遇见~未来18 小时前
第六篇_CSS进阶_深入浏览器与工程化
前端·css·rust
Cache技术分享18 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
前端·后端
Daybreak18 小时前
Vercel Serverless 调国内 AI 接口 504?Edge Runtime 救了我
前端
zubylon18 小时前
Ollama 本地起一个开发助手
前端·人工智能
遇见~未来18 小时前
第五篇_构建真实页面_组件_响应式_维护性
前端·css3
魔士于安18 小时前
Unity完整小球迷宫项目
前端·unity·游戏引擎·贴图·模型
irpywp19 小时前
苦于AI生成的网页千篇一律且粗糙?design-md-chrome :一款网页样式提取插件 ,将任意网站的视觉规范转化为大模型可读的代码指令!
前端·人工智能·chrome·开源·github
xingpanvip19 小时前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
网络点点滴19 小时前
Node.js理论-Web的基本运作原理
前端·node.js