axios常见请求传参方式

get请求

一般发送get请求传参是这么写

axios.get('/user?id=12345&name=user')
    .then(res => res)
    .catch(err => err)

为了方便全局统一调用封装的axios,一般这么写

// params参数必写 , 如果没有参数传{}也可以
axios.get('/user', {
    params: { 
       id: 12345,
       name: user
    }
})
    .then(res => res)
    .catch(err => err)

post/put/patch请求

  1. 传参格式为formData

    // request的Header:'Content-Type'= 'multipart/form-data'
    
    var formData = new FormData();
    formData.append('user', 123456);
    formData.append('pass', 12345678);
      
    axios.post("/notice", formData)
        .then(res => res)
        .catch(err => err)
    
  2. 传参格式为query 形式

    // request的Header:'Content-Type'= 'application/x-www-form-urlencoded'
    
    // 第一种情况:使用$qs.stringify
    import Qs from 'qs'   // 引入方式
    Vue.prototype.$qs = Qs  // 全局加载
    this.$qs.stringify(data);  // 使用方式
    this.$qs.parse(data);  // 使用方式
      
    var readyData = this.$qs.stringify({
        id: '1234',
        name: 'user'
    });
    axios.post("/notice", readyData)
        .then(res => res)
        .catch(err => err)
    
  3. 传参格式为 raw (JSON格式)

    // request的Header:'Content-Type'= 'application/json;charset=UTF-8'
    
    // 1. axios将js对象序列化为JSON
    var readyData = {
        id:1234,
        name: ’user‘
    };
    axios.post("/notice", readyData)
        .then(res => res)
        .catch(err => err)
    
    // 2. 自己序列化
    var readyData = JSON.stringify({
        id: '1234',
        name: 'user'
    });
    axios.post("/notice",readyData)
        .then(res => res)
        .catch(err => err)
    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js平台。Axios支持多种请求参数的格式,下面列举了常见请求参数格式: 1. GET请求参数放在URL后面 GET请求的参数通常放在URL后面,格式为?key=value。比如: ``` axios.get('/api/user?name=John&age=20') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` 2. POST请求的参数放在请求体中 POST请求的参数通常放在请求体中,格式有多种,下面列举了几种常见的格式: (1)application/x-www-form-urlencoded 这是浏览器默认的表单提交方式,参数格式为key1=value1&key2=value2。可以使用qs库将对象序列化为该格式。比如: ``` import qs from 'qs'; axios.post('/api/user', qs.stringify({ name: 'John', age: 20 })) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` (2)application/json 这是常用的JSON格式,参数为一个JSON对象。比如: ``` axios.post('/api/user', { name: 'John', age: 20 }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` (3)multipart/form-data 这是用于上传文件的格式,参数为一个FormData对象。比如: ``` const formData = new FormData(); formData.append('file', file); axios.post('/api/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` 以上就是Axios不同请求传参的不同格式详解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值