vue的vue-resource和axios介绍

在Vue项目中前后端交互时,早期Vue使用Vue-resource实现异步请求。

从Vue2.0之后就不再对vue-resource进行更新,Vue官方推荐使用axios。

一、vue-resource

Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQuery的$,ajax,用来进行数据交互。主要用于发送ajax请求。

特点:

1.体积小,压缩后约12kb

2.支持主流浏览器(除IE9以下)

3.支持Promiss API 和 URL Templates

4.支持拦截器,可全局设置拦截器,可以在请求发送前和发送请求后做一些事情。

语法 & API:

以使用全局对象方式 Vue.http 或者在一个 Vue 实例的内部使用 this.$http来发起 HTTP 请求。

使用vue-resource发送跨域请求

1.安装vue-resource并引入

bash 复制代码
cnpm install vue-resource -S

2.基本用法

使用this.$http发送请求

javascript 复制代码
this.$http.get(url, [options])
this.$http.head(url, [options])
this.$http.delete(url, [options])
this.$http.jsonp(url, [options])
this.$http.post(url, [body], [options])
this.$http.put(url, [body], [options])
this.$http.patch(url, [body], [options]) 

3.相关文章推荐

vue-resource: The HTTP client for Vue.js

https://www.cnblogs.com/zhaoxiaoying/p/11950567.html【本文部分内容,摘录此文章】

https://www.cnblogs.com/wspblog/p/9844986.html【本文部分内容,摘录此文章】

vue.resource是什么-Vue.js-PHP中文网

Vue.js Ajax(vue-resource) | 菜鸟教程

Vue------Vue-resource详解-CSDN博客

二、axios

特点:

1.在浏览器中发送XMLHttpRequests请求

2.在node.js中发送http请求

3.支持Promiss API( 依赖原生的 ES6 Promise,如果你的环境不支持 ES6 Promise,可以使用 polyfill。 )

4.可创建实例

5.拦截器请求和响应

6.转换请求和响应数据

7.并发请求

8.取消请求

9.自动转换JSON数据

10.客户端支持保护安全免受CSRF/XSRF攻击

1. 安装axios并引入

javascript 复制代码
npm install axios -S

也可直接下载axios.min.js文件

2.基本用法

javascript 复制代码
axios([options])  
axios.get(url[,options]);

传参方式:

1.通过url传参

2.通过params选项传参

javascript 复制代码
axios.post(url,data,[options]);

axios默认发送数据时,

数据格式是Request Payload,

并非我们常用的Form Data格式,

所以参数必须要以键值对形式传递,不能以json形式传参 传参方式:

1.自己拼接为键值对

2.使用transformRequest,在请求发送前将请求数据进行转换

3.如果使用模块化开发,可以使用qs模块进行转换

例如这样传参:

javascript 复制代码
username=renping&password=123456

可参考下面文章:vue 在使用post提交json数据、表单数据,object数据,解决方案_vue项目提交请求,数据为表单数据-CSDN博客

3.相关文章推荐

https://www.cnblogs.com/zhaoxiaoying/p/11950567.html【本文部分内容,摘录此文章】

https://www.cnblogs.com/wspblog/p/9844986.html【本文部分内容,摘录此文章】

Vue.js Ajax(axios) | 菜鸟教程

Vue.js Ajax(vue-resource) | 菜鸟教程

相关推荐
孤水寒月3 小时前
基于HTML的悬窗可拖动记事本
前端·css·html
祝余呀3 小时前
html初学者第一天
前端·html
脑袋大大的4 小时前
JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
开发语言·javascript·性能优化
速易达网络5 小时前
RuoYi、Vue CLI 和 uni-app 结合构建跨端全家桶方案
javascript·vue.js·低代码
耶啵奶膘6 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
JoJo_Way6 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
视频砖家6 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能
lyj1689976 小时前
vue-i18n+vscode+vue 多语言使用
前端·vue.js·vscode
小白变怪兽8 小时前
一、react18+项目初始化(vite)
前端·react.js
ai小鬼头8 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github