axios请求参数的三种方式示例详解

 更新时间:2023年07月24日 08:57:03   作者:小气鬼SYQ  
这篇文章主要介绍了axios请求参数的三种方式,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

axios请求参数的三种方式

1、拼接方式:     ?   &

  1. Query String Parameters(URL参数)
        //          + 请求头参数 => 参数被定义在请求头的 请求地址中
        //          + 该参数的携带方式主要被应用于无请求体的请求中
        //          + http|https协议的组成中,以?关键字分割地址和参数
        //          + 参数由 key=value&key=value…… 字符串格式进行组成
        //              - key 参数属性名(该属性名由服务器段决定)
        //              - value 参数属性值(理论上任何可以转换为字符串的数据都可以作为参数)
        //                  * URL地址存在长度限制,所以参数容量有限,一般用于携带简单的关键参数
        //                  * JS中有些数据类型强制转换为字符串,会输出无效数据
 <input type="button" value="URL参数-地址拼接" onclick="sendURLParams()">
  function sendURLParams(){
            axios.get("http://127.0.0.1:3000/public/params?username=admin&tel=12345678901")
                .then(( {data} )=>{
                    console.log(data);
                })
                .catch((error)=>{
                    console.log(error);
                    Notice.error({ title:"请求失败" })
                })
        }

2、通过配置设置参数:params:{ }

         //     2. Request payload
        //          + 请求体参数
        //          + 该参数的携带方式只能被应用于有请求体的请求中
<input type="button" value="URL参数-通过配置设定参数" onclick="sendURLParams2()">
        function sendURLParams2(){
            axios.get("http://127.0.0.1:3000/public/params",{
                // `params` 是与请求一起发送的 URL 参数,自动完成参数格式状态
                params:{
                    username:"tom",
                    tel:12345678901
                }
            })
            .then(( {data} )=>{
                console.log(data);
            })
            .catch((error)=>{
                console.log(error);
                Notice.error({ title:"请求失败" })
            })
        }

3、Form Data(请求体参数)==>动态参数,也就是说通过获取dom节点的value值来动态获取参数

  //     3. Form Data(请求体参数)
        //          + 请求体参数
        //          + 该参数的携带方式只能被应用于有请求体的请求中
        // HTTP 的请求组成(请求报文)(抓包)
        //      请求报文头|请求报文基础信息 = 存储请求必要的解释信息(请求类型、请求格式、请求时长……)
        //      请求报文体|额外的请求参数携带
        // HTTP 的响应组成(响应报文)
        //      响应报文头 = 存储请求必要的解释信息(请求类型、请求格式、请求时长……)
        //      响应报文体|服务器响应结果
    <input id="username" type="text" value="admin">
    <input id="tel" type="text" value="12345678901">
    <input type="button" value="URL参数-动态参数" onclick="sendURLParams3()">
       function sendURLParams3(){
            axios.get("http://127.0.0.1:3000/public/params",{
                params:{
                    username:document.getElementById("username").value,
                    tel:document.getElementById("tel").value
                }
            })
            .then(( {data} )=>{
                console.log(data);
            })
            .catch((error)=>{
                console.log(error);
                Notice.error({ title:"请求失败" })
            })
        }

Axios传参的三种方式

一:get请求

axios中常见的get/delete请求,也称作query请求:

//一般发送请求是这么写(不推荐):
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);
});

 二:post/put/patch请求

传参方式大致用的有3种
(1) ‘Content-Type’= ‘multipart/form-data’
传参格式为 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) ‘Content-Type’= ‘application/x-www-form-urlencoded’
传参格式为 query 形式,使用$qs.stringify
(全局请求头:‘Content-Type’= ‘application/x-www-form-urlencoded’)
(request的Header:‘Content-Type’= ‘application/x-www-form-urlencoded’)

import axios from 'axios'
import qs from 'Qs'
let data = {"code":"1234","name":"yyyy"};
axios.post(`${this.$url}/test/testRequest`,qs.stringify({
    data
}))
.then(res=>{
    console.log('res=>',res);            
})

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

//方法一:
import axios from 'axios'
let data = {"code":"1234","name":"yyyy"};
axios.post(`${this.$url}/test/testRequest`,data)
.then(res=>{
    console.log('res=>',res);            
})
//方法二:
var readyData=JSON.stringify({
    id:1234,
    name:user
});
axios.post("/notice",readyData)
     .then((res) => {return res})
     .catch((err) => {return err})

到此这篇关于axios请求参数的三种方式的文章就介绍到这了,更多相关axios请求参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • chrome不支持form.submit的解决方案

    chrome不支持form.submit的解决方案

    最近在解决项目中网站浏览器兼容性问题,发现chrome竟然不支持form.submit,经网上搜寻,终于找到了解决方案,有需要的小伙伴参考下。
    2015-04-04
  • 浅谈js promise看这篇足够了

    浅谈js promise看这篇足够了

    下面小编就为大家分享一篇浅谈js promise的使用。具有很好的参考价值,看完这篇都懂了。希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • JavaScript遍历table表格中的某行某列并打印其值

    JavaScript遍历table表格中的某行某列并打印其值

    这篇文章主要介绍了JavaScript遍历table表格中的某行某列并打印其值,需要的朋友可以参考下
    2014-07-07
  • JavaScript实现网络测速的方法详解

    JavaScript实现网络测速的方法详解

    在我们的日常生活中离不开网络,而网络的快慢直接决定了用户的产品使用体验。本文就来带大家了解如何用JavaScript实现网络测速,需要的可以参考一下
    2023-01-01
  • Sourcemap源代码映射详细介绍

    Sourcemap源代码映射详细介绍

    这篇文章主要为大家介绍了Sourcemap源代码映射介绍及示例详解解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-04-04
  • JavaScript setTimeout与setTimeinterval使用案例详解

    JavaScript setTimeout与setTimeinterval使用案例详解

    这篇文章主要介绍了JavaScript setTimeout与setTimeinterval使用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 一文详解JS与TS的主要区别

    一文详解JS与TS的主要区别

    TypeScript(简称 TS)和JavaScript(简称 JS)都是用于编写Web应用程序的语言,下面这篇文章主要给大家介绍了关于JS与TS的主要区别,需要的朋友可以参考下
    2024-03-03
  • JS函数参数的传递与同名参数实例分析

    JS函数参数的传递与同名参数实例分析

    这篇文章主要介绍了JS函数参数的传递与同名参数,结合实例形式分析了JS函数参数的传递与同名参数相关原理、使用技巧与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • three.js欧拉角和四元数的使用方法

    three.js欧拉角和四元数的使用方法

    这篇文章主要给大家介绍了关于three.js欧拉角和四元数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • Bootstrap开发实战之响应式轮播图

    Bootstrap开发实战之响应式轮播图

    这篇文章主要为大家详细介绍了Bootstrap开发实战之响应式轮播图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论