axios的基本使用

axios定义:

axios 前端 ajax请求工具
        1. 在浏览器与nodejs可以使用
        2. 可以拦截请求与相应
        3. 扩展与封装自定义方法
        4. 不依赖dom节点

安装

       npm i axios -S

 vue全局挂载

import  axios from ‘axios’

Vue.prototype.$http = 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"
})

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.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"
post请求头的默认配置

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:"http://www.wtown.com/",
				// 允许改变
				changeOrigin:true,
				onProxyReq(proxyReq, req, res) {
					proxyReq.setHeader('Referer', 'http://www.wtown.com'); 
				},
				pathRewrite:{
					"/abcd":"/api/rms/v1"
				}
        }
    }
   }
} 

axios封装

 01 导入

import axios from ‘axios’
import qs from ‘qs’
import jsonp from ‘jsonp’

 02 创建实例

var request = axios.create({
// 默认配置
})

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

request.interceptors.request.use()
request.interceptors.response.use()

04 扩展方法

request.jsonp = function(){}

05 导出

export default request;

qs

qs.stringify({}) 把对象转换为url编码字符串
{name:"mumu",age=18}  name=mumu&age=18

qs.parse(str)把url编码转换对象
name=mumu&age=18  {name:"mumu",age=18}  

转义

 window.encodeURI("name=周")
 window.decodeURI("name=%E6%9B%BE")
 window.encodeURIComponent("name=/user") //转

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值