axios 的用法

 

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 由于使用了 es6 的 promise 所以指兼容高版本浏览器

 

 

 

配置全局的 axios 默认值

  axios.defaults.baseURL = 'https://api.example.com'

  axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;

  axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'

 

一、get请求

  1. axios.get(url[,config])  

 

axios.get('/api/crm/v1/order/list?pages=1&token=YmEzYWZ') //可以将信息拼接在url后面
   .then(function (response) {
       console.log(response);
    })
    .catch(function (error) {
       console.log(error);
    });

 

//可以将信息放在config对象中,需要注意的是 post方式对应的是 data 而 get方式对应的是 params
axios('/api/crm/v1/order/list',{
    params:{
        pages: 1,
        token: 'YmEzYWZkMWUzZDI0ZmI0NDc3NDJjNDU2ZGFjNjc1NDk3YmVmMjE3MQ=='
    }
})

 

2. axios(config) 、axios(url[,config])、 axios.request(config)

 所有的方式会将参数合并到一个对象中,作为config参数最终调用 axios.request 接口

 

axios({
  method: 'get',   url:
'/api/crm/v1/order/list',   params:{     pages: 1,     token: 'YmEzYWZkMWUzZDI0ZmI0NDc3NDJjNDU2ZGFjNjc1NDk3YmVmMjE3MQ=='   } })

  

二、post请求

  1. axios.post(url[,data[,config]])  

  

             

    没有设置全局Content-Type,config也没有设置Content-Type时 axios会根据data的类型设置相应的 Content-Type;

    如果Content-Type 为 application/x-www-form-urlencoded;charset=utf-8,不同于jquery.ajax的post方式可以直接传入数组或是对象,因为jquery会在内部调用 jquery.param 方法创建数组或对象的序列化表示。但是在axios 中只对get方式传入的对象或是数组进行了序列化处理。post方式需要我们自己进行序列化处理。node中可以使用 querystring.stringify 方法。

 

axios.post('/api/crm/v1/order/list', 'page=1&token=YmEzYWZk')

  

 

axios.post('/api/crm/v1/order/list', '', {
        data: 'page=1&token=YmEzYWZk',
        headers:{
            'content-type': 'application/x-www-form-urlencoded;charset=utf-8'
        }
    })

 


2. axios(config) 、axios(url[,config])、 axios.request(config)

 

axios({
   method: 'post', url:
'/api/crm/v1/order/list', data: 'page=1&token=YmEzYWZk' })

 

 

 

    

     

 

posted @ 2018-07-16 16:51  尖括号  阅读(2425)  评论(0编辑  收藏  举报