vue 关于axios的使用方法

axios定义:

axios 前端 ajax请求工具

  1. 在浏览器与nodejs可以使用

  2. 可以拦截请求与相应

  3. 扩展与封装自定义方法

  4. 不依赖dom节点

安装

npm i axios -S

先在vue全局中挂载

import axios from 'axios'

Vue.prototype.$http = axios;

使用axios进行 get请求

axios.get(url)

axios.get(url?name=zh&age=18)

axios.get(url,{params:{name:"zh",age:18}})

axios({

url,

params:{},

method:"GET"

})

使用axios进行post请求

axios.post(

url,

data, //name=mumu&age=18

{headers:{"content-type":"application/x-www-form-urlencoded"}})

axios.post(

url,

data,//`{"name":"mumu","age":18}`,

{headers:{"Content-Type": "application/json; charset=UTF-8"}},

)

axios({

url,

method:"POST",

data:`name=mumu&age=18`,

headers:{"content-type":"application/x-www-form-urlencoded"}}

})

axios的默认配置

post请求头的默认配置:

axios.defaults.headers.post["Content-Type"] = "请求头"

默认请求域名配置:

axios.defaults.baseURl="/"

请求超时配置:

axios.defaults.timeout = 3000

响应拦截

拦截

请求拦截

axios.interceptors.request.use(

function(config){return config},

function(err){Promise.reject(err)})

axios.interceptors.response.use(

function(res){return res},

function(err){Promise.reject(err)})

注意:

vue.config.js 放在项目的根目录 不是src目录

对vue脚手架进行配置

devServer 对内置脚手架服务器配置

我们主要用来代理

module.exports ={

devServer:{

open:true,//打开浏览器

proxy:{

"/abcd":{ //当请求地址包含/abcd 开始执行代理

target:"url",

// 允许改变

changeOrigin:true,

onProxyReq(proxyReq, req, res) {

proxyReq.setHeader('Referer', 'url');

},

pathRewrite:{

"/abcd":"/api/rms/v1"

}

}

}

}

}

axios封装

axios01 页面导入:

import axios from 'axios'

import qs from 'qs'

import jsonp from 'jsonp'

axios02 创建实例:

var request = axios.create({

// 默认配置

})

axios03 拦截 请求与响应(做加载提示):

request.interceptors.request.use()

request.interceptors.response.use()

axios04 扩展方法:

request.jsonp = function(){}

axios05 导出:

export default request;

关于qs一些方法:

qs.stringify({}) 把对象转换为url编码字符串

{name:"fs",age=18} name=fs&age=18

qs.parse(str)把url编码转换对象

name=fs&age=18 {name:"fs",age=18}

了解转义:

window.encodeURI("name=王")

window.decodeURI("name=%E6%9B%BE")

window.encodeURIComponent("name=/user") //转

encodeURI 和 decodeURI 函数操作的是完整的 URI;这俩函数假定 URI 中的任何保留字符都有特殊意义,所有不会编码它们。

encodeURIComponent 和 decodeURIComponent 函数操作的是组成 URI 的个别组件;这俩函数假定任何保留字符都代表普通文本,所以必须编码它们,所以它们(保留字符)出现在一个完整 URI 的组件里面时不会被解释成保留字符了。

相关推荐
木子李BLOG3 小时前
vue.js设计与实现(待续)
vue
悟能不能悟9 小时前
reason: unable to verify the first certificate 如何处理
vue
!win !1 天前
通过重写组件轻松掌握用JSX写Vue项目
vue·jsx
zy happy2 天前
RuoyiApp 在vuex,state存储nickname vue2
前端·javascript·小程序·uni-app·vue·ruoyi
小阳生煎2 天前
Vue实现全局设置一个刷新按钮 只刷新当面路由页面 不跳转操作功能
vue.js·vue
Zzzzzxl_2 天前
互联网大厂前端面试实录:HTML5、ES6、Vue/React、工程化与性能优化全覆盖
性能优化·vue·es6·react·html5·前端面试·前端工程化
李慕婉学姐2 天前
【开题答辩过程】以《基于微信小程序垃圾分类图像识别技术实现》为例,不会开题答辩的可以进来看看
spring boot·微信小程序·vue
故事不长丨3 天前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea
咚咚咚小柒3 天前
【前端】Webpack相关(长期更新)
前端·javascript·webpack·前端框架·node.js·vue·scss
老华带你飞4 天前
房屋租赁|房屋出租|房屋租赁系统|基于Springboot的房屋租赁系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·vue·论文·毕设·房屋租赁系统