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

相关推荐
木斯佳1 天前
前端八股文面经大全:阿里云AI应用开发二面(2026-03-21)·面经深度解析
前端·css·人工智能·阿里云·ai·面试·vue
工业互联网专业2 天前
基于Python的黑龙江旅游景点数据分析系统的实现_flask+spider
python·flask·vue·毕业设计·源码·课程设计·spider
大叔_爱编程2 天前
基于协同过滤算法的理财产品推荐系统-flask
python·flask·vue·毕业设计·源码·课程设计·协同过滤
小彭努力中2 天前
193.Vue3 + OpenLayers 实战:圆孔相机模型推算卫星拍摄区域
vue.js·数码相机·vue·openlayers·geojson
小彭努力中3 天前
192.Vue3 + OpenLayers 实战:点击地图 Feature,列表自动滚动定位
vue·webgl·openlayers·geojson·webgis
百锦再3 天前
Vue不是万能的:前后端不分离开发的优势
前端·javascript·vue.js·前端框架·vue
BUG创建者3 天前
openlayers上跟据经纬度画出轨迹
开发语言·javascript·vue·html
ん贤3 天前
首屏优化实践:如何将 Vue3 + Vite 项目的加载速度提升3倍
性能优化·vue·vite
A_nanda3 天前
一款前端PDF插件
前端·学习·pdf·vue
沐硕3 天前
校园招聘系统
spring boot·vue·校园招聘