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 的组件里面时不会被解释成保留字符了。

相关推荐
半生过往6 小时前
Vue i18n 国际化全套适配实战:一步一步从零到工程化落地
vue·il8n
志尊宝12 小时前
Vue3 零基础每日笔记(035):什么是 Composables——mixin 之死与逻辑复用新方案
笔记·vue·html·前端开发·软件开发
志尊宝14 小时前
Vue3 零基础每日笔记(030):动态组件与 keep-alive——切换组件与页面缓存
笔记·vue·html·前端开发·软件开发
志尊宝14 小时前
Vue3 零基础每日笔记(029):插槽 slot 三连——默认、具名、作用域一次讲透
前端·javascript·vue.js·vue·前端开发
尾善爱看海1 天前
Vue 面试收官篇:SSR、性能优化落地、30 道高频面试题精讲(附标准答案)
前端·javascript·vue.js·面试·vue
caoerzhong1 天前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
caoerzhong2 天前
JeeWMS 开源仓库管理系统权限与域验证解析:Java WMS 如何把数据权限管到仓、货主与人
java·python·开源·vue
caoerzhong2 天前
JeeWMS 开源仓库管理系统多租户架构解析:一套 Java WMS 如何同时服务多个货主与多个仓库
java·架构·开源·vue
ynchyong2 天前
VUE 中 不能将类型“R[]”分配给类型“UnwrapRefSimple<R>[]”
typescript·vue·ts·unwraprefsimple
Leaderxin3 天前
还在用 Electron?6 种跨平台桌面方案横评:Rust + Vue 把安装包从 224MB 干到 4.7MB
rust·vue·跨平台·tauri·桌面应用