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

相关推荐
瓯雅爱分享2 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
苏打水com6 小时前
前端框架深度解析:Vue 从入门到实战,掌握渐进式开发核心
vue
棋子一名15 小时前
跑马灯组件 Vue2/Vue3/uni-app/微信小程序
微信小程序·小程序·uni-app·vue·js
苏打水com18 小时前
前端框架深度解析:Vue.js 3 从 Composition API 到生态升级,解锁企业级开发新能力
vue
知识分享小能手1 天前
微信小程序入门学习教程,从入门到精通,微信小程序核心 API 详解与案例(13)
前端·javascript·学习·react.js·微信小程序·小程序·vue
小灰灰的可爱无人可替代1 天前
记录一次使用docker和docker-compose更新vue前端项目问题
nginx·docker·vue
java水泥工2 天前
酒店客房管理系统|基于SpringBoot和Vue的酒店客房管理系统(源码+数据库+文档)
spring boot·vue·酒店管理系统·酒店客房管理系统
爱看书的小沐4 天前
【小沐学WebGIS】基于Three.JS绘制飞行轨迹Flight Tracker(Three.JS/ vue / react / WebGL)
javascript·vue·webgl·three.js·航班·航迹·飞行轨迹
知识分享小能手5 天前
微信小程序入门学习教程,从入门到精通,WXS语法详解(10)
前端·javascript·学习·微信小程序·小程序·vue·团队开发
知识分享小能手5 天前
微信小程序入门学习教程,从入门到精通,WXSS样式处理语法基础(9)
前端·javascript·vscode·学习·微信小程序·小程序·vue