zoukankan      html  css  js  c++  java
  • axios常见传参方式

    1:get请求

    一般发送请求是这么写

    axios.get('/user?id=12345&name=user')
    .then(function (res) {
        console.log(res);
    }).catch(function (err) {
        console.log(err);
    });
    

    但是为了方便全局统一调用封装的axios

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

    2.post/put/patch请求 

    (1) 传参格式为 formData 

    (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')

    (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) => {return res})
         .catch((err) => {return err})
     
    

    (2) 传参格式为 query 形式  

    (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')

    (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) => {return res})
         .catch((err) => {return err})
    

    更多qs功能参考:https://www.npmjs.com/package/qs

    第二种情况:使用URLSearchParams

    在浏览器中,您可以使用URLSearchParams API,如下所示:

    var params = new URLSearchParams();
    params.append('param1', 'value1');
    params.append('param2', 'value2');
    axios.post('/foo', params);
    

    注意:所有浏览器都不支持URLSearchParams,但是有一个polyfill可用(确保polyfill全局环境)。

    (3) 传参格式为 raw (JSON格式) 

      第一种情况: axios将JavaScript对象序列化为JSON

    (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')

    (request的Header:'Content-Type'= 'application/json;charset=UTF-8')

    var readyData={
        id:1234,
        name:user
    };
    axios.post("/notice",readyData)
         .then((res) => {return res})
         .catch((err) => {return err})
    

      第二种情况:

    (全局请求头:‘Content-Type'= 'application/json;charset=UTF-8')

    (request的Header:‘Content-Type'= 'application/json;charset=UTF-8')

    var readyData=JSON.stringify({
        id:1234,
        name:user
    });
    axios.post("/notice",readyData)
         .then((res) => {return res})
         .catch((err) => {return err})
    

      

      

      

     

  • 相关阅读:
    纳维-斯托克斯方程 据说 很牛 ?
    霍奇猜想
    关于 四色定理 和 霍奇猜想
    我给出了一个 四色定理 的 证明
    在 兄弟们我挡不住了 中 的 回复 续
    在 兄弟们我挡不住了 中 的 回复
    在 没什么思路,帮解答下,谢谢 中 的 回复
    在 10元悬赏 中 的 回复
    在 大家的做题热情实在是高 故开新帖继续做题 中 的 回复
    做一道 高一 求 函数 值域 的 题
  • 原文地址:https://www.cnblogs.com/zhaojunhao/p/9622004.html
Copyright © 2011-2022 走看看