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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值