Axios基础学习

定义

  • 是一个基于promise的http库
  • 可以用于浏览器和node.js

特性

  • 支持promise api
  • 自动转换json
  • 客户端支持xsrf
  • 拦截请求数据和响应数据
  • 取消请求

vue项目创建

 //安装3版本脚手架

npm install -g @vue/cli   

 //查看安装版本
vue -V  

 //创建一个项目
vue create axios-vue

出现这个界面使用默认或者自定义 

根据需要选择选项

创建成功

//安装axios

yarn add axios

axios请求方法

get 获取数据

axios.get('/data.json',{

    params:{
        id:12
    }


}).then((res)=>{

    consloe.log(res)
    })


axios.({
    url:'data.json',
    method:'get',
    parmas:{

        id:12
    }

}).then((res)=>{

    consloe.log(res)
})

post 提交数据(表单提价+文件上传)



//application/json
let data = {id:12}
axios.post('post',data).then(res=>{

    console.log(res)


})

axios.({
    
    method:'post'
    url:'/post',
    param: data,
    
}).then(res=>{

console.log(res)
})

//form-data 表单提交
let formData = new FormData()

for(let key in data){

    formData.append(key,data[key])

}
    

axios.({
    
    method:'post'
    url:'/post',
    param: formData ,
    
}).then(res=>{

console.log(res)
})






put 更新数据(所有数据更新到后端)

axios.({
    
    method:'put'
    url:'/put',
    param: data,
    
}).then(res=>{

console.log(res)
})

patch 更新数据(只将修改的数据更新)

axios.({
    
    method:'patch'
    url:'/patch',
    param: data,
    
}).then(res=>{

console.log(res)
})

delete 删除数据

//使用parmas参数会和get一样拼接在参数上
axios.delete('delete',{

    url:'delete',
    params:{
        id:12
    }

}).then((res)=>{

    consloe.log(res)

})

//使用data参数会和post一样拼接在参数上
axios.delete('delete',{

    url:'delete',
    data:{
        id:12
    }

}).then((res)=>{

    consloe.log(res)

})

axios实例便于统一配置

let instance = axios.cretae({

       baseURL:'http://localhost:8080',
       timeout: 1000,
           url: '/data.json'
       method : get,post,put,delete,patch,
       headers : {

            token : ''
        },
        params:{},
        data :{}
       


})

let instance2 = axios.cretae({

       baseURL:'http://localhost:9090',
       timeout: 500
       url: '/data.json'
       method : get,post,put,delete,patch,
       headers : {

            token : ''
        },
        params:{},
        data :{}

})

axios 全局配置

axiois.defaults.timeout = 1000
axiois.defaults.baseURL= 'http://localhost:8080'

axios 实例配置

let instance = axios.create();
 instance.defaults.timeput=500

axios 请求配置

insttance.get('/data.json',{

    timeout : 500

})

拦截器

在请求或相应处理前做些什么

//请求拦截器
axios.interceptors.request.use(
    config=>{
        //在发送请求前做些什么
        return config
        
    },err=>{

        //在请求错误的时候做些什么
        return promise.reject(err)
    }

)

//响应拦截器

axios.interceptors.response.user({

    res=>{
        //请求成功对响应做什么
        return res;
    
    },err=>{
        
        //响应错误做什么
         return promise.reject(err);
    }

})

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值