Axios请求用法

Axios请求用法

**
常见的配置选项

  • 请求地址 url: ‘/user’,
    请求类型 method: ‘get’,
    请根路径 baseURL: ‘http://www.mt.com/api’,
    请求前的数据处理 transformRequest:[function(data){}],
    请求后的数据处理 transformResponse: [function(data){}],
    自定义的请求头 headers:{‘x-Requested-With’:‘XMLHttpRequest’},
    URL查询对象 params:{ id: 12 },
    查询对象序列化函数 paramsSerializer: function(params){ }
    request body data: { key: ‘aa’},
    超时设置 timeout: 1000,
    跨域是否带Token withCredentials: false,
    自定义请求处理 adapter: function(resolve, reject, config){},
    身份验证信息 auth: { uname: ‘’, pwd: ‘12’},
    响应的数据格式 json / blob /document /arraybuffer / text / stream responseType: ‘json’,

get请求

传参数法1:
在这里插入图片描述
传参数法2:
在这里插入图片描述

post请求

带参数请求

方法1:

   this.axios({
      url: "/api/tranSta/transToStation/getMonthsAndCorp.do",
      method: "post",
      params: { months: "1,2,3,4,5,6,7,8,9,10,11,12", corps: "公司1,公司2" },
    }).then(function(res){
        console.log(res)
});

方法2:

this.axios
      .post(
        "/api/tranSta/transToStation/getMonthsAndCorp.do?months=1,2,3,4,5,6,7,8,9,10,11,12&corps=公司1,公司2"
      )
      .then(function (res) {
        // console.log(res.data.infor)
      });

Body参数请求
(1)’Content-Type’=’multipart/form-data’
传参格式为formData
(全局请求头:’Content-Type’=’application/x-www-form-urlencoded’)
(request的Header:’Content-Type’: ’multipart/form-data’)

var forms = new FormData()
var mons = [1,2,3,4,5,6,7,8,9,10,11,12]
forms.append('months',mons)
forms.append('corp','公司1')
this.axios({
url:'/api/tranSta/transToStation/getMonths.do',
method:'post',
data:forms
}).then(function(res){
    console.log(res.data)

2)’Content-type’=’application/x-www-form-urlencoded’
传参格式qurey形式,使用qs.stringify
(全局请求头:’Content=Type‘=’application/x-www-form-urlencoded’)
(request的Header:’Content=Type:’application/x-www-form-urlencoded)

 this.axios({
      url:"http://10.39.7.136:28888/tranSta/transToStation/poemInfoInformation.do",
      method: "post",
      data: qs.stringify({ page: "1", size: "100" }),
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
    }).then(function (res) {
      console.log(res)})

3)’Content-Type’:’application/json’ 传参格式为raw(JSON格式)
(全局请求头:‘Contetn-type’:’application/x-www-form-urlencoded’)
(request的Header:’Content-Type’:’application/json.,charsert=’UTF-8’)

var data={'corp':'公司1','other':'2020-12'}
this.axios.post('/api/tranSta/transToStation/getByJSon.do',data)
.then(function(res){
  console.log(res)})

Axios并发请求

   var form = new FormData()
    var n1 = ['李白,杜.甫,陆游,苏轼,白居易']
    var n2 = ["春天","秋天","冬天","夏天"]
    form.append('authors',n1)
    form.append('seasons',n2)
        this.axios.all([this.axios.get('/api/tranSta/transToStation/selectAllInfo.do'),
        this.axios.post('/api/tranSta/transToStation/getSeasonInfo.do',form)]
        ).then(this.axios.spread((res1,res2)=>{
            console.log(res1.data)
            console.log(res2.data)
        }))

在这里插入图片描述

创建axios实例

为什么要创建axios的实例呢?
当我们从axios模块中导入对象时, 使用的实例是默认的实例
当给该实例设置一些默认配置时, 这些配置就被固定下来了.

const axiosInstance = this.axios.create({
    baseURL:'/api/tranSta/transToStation',
    timeout:'50000',
     
})
请求1
axiosInstance({
    url:"getMonthsAndCorp.do",
    method:'post',
    params: { months: "1,2,3,4,5,6,7,8,9,10,11,12", corps: "公司1,公司2" },
}).then(function(res){
    // console.log(res.data.infor)
})
请求2
axiosInstance({
    url:'getByJSon.do',
    data:{corp: "公司1", other: "2020-12"},
    method:'post'
}).then(function(res){
    console.log(res.data.infor)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值