广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 中 get / delete 传递数组参数方法
  • 338
分享到

vue 中 get / delete 传递数组参数方法

2024-04-02 19:04:59 338人浏览 安东尼
摘要

在前后端交互的时候,有时候需要通过 get 或者 delete 传递一个数组给后台,但是这样直接传递后台无法接收数据,因为在传递的过程中数组参数会被转译,结果如下: 参数

在前后端交互的时候,有时候需要通过 get 或者 delete 传递一个数组给后台,但是这样直接传递后台无法接收数据,因为在传递的过程中数组参数会被转译,结果如下:

参数:{ name : [ 1, 2, 3 ] }
转译效果:Http://aaa.com?name[]=1&name[]=2&name[]=3
目标效果:http://aaa.com?name=1&name=2&name=3

解决办法:

使用 qs 插件 将数组参数序列化


1、qs.stringify({ a: ['b', 'c'] }, { arrayFORMat: 'indices' })
// 输出结果:'a[0]=b&a[1]=c'
2、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 输出结果:'a[]=b&a[]=c'
3、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 输出结果:'a=b&a=c'
4、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })
// 输出结果:'a=b,c'

安装


npm install qs

使用


//在 axiOS 请求拦截器里面
import qs from 'qs'
axios.interceptors.request.use(request => {
 if (request.method === 'delete' || request.method === 'get') {
 request.paramsSerializer = function(params) {
  return qs.stringify(params, { arrayFormat: 'repeat' })
 }
 }
 return request
},(error) =>{
 return Promise.reject(error);
})

知识点扩展:Vue中 的Get , Delete , Post , Put 传递参数

刚刚接触Vue2.5以上版本的新手程序员 不了解怎样传递参数的仅供参考


<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>

  <script type="text/javascript" src="js/axios.js"></script>
  <script type="text/javascript">
    // axios请求参数传递

    // axios get请求传参
    // 传统格式的 get 请求
     axios.get('http://localhost:3000/axios?id=123')
      .then(function(ret){
      console.log(ret.data)
     })
     // restful 格式的 get 请求
     axios.get('http://localhost:3000/axios/123')
      .then(function(ret){
      console.log(ret.data)
     })
     // 携带参数的 get 请求
    axios.get('http://localhost:3000/axios', {
      params: {
        id: 789
      }
    }).then(function(ret) {
      console.log(ret.data)
    })

    // // axios delete 请求传参
    axios.delete('http://localhost:3000/axios', {
      params: {
        id: 111
      }
    }).then(function(ret) {
      console.log(ret.data)
    })

    //-----------------------------------

    // 使用 axios 进行 post 请求,默认传递 JSON 数据
    axios.post('http://localhost:3000/axios', {
        'uname': 'lisi',
        'pwd': 123
      }).then(function(ret) {
        console.log(ret.data)
      })
      // 使用 axios 进行 post 请求,传递 form 表单数据
       var params = new URLSearchParams();
       params.append('uname', 'zhangsan');
       params.append('pwd', '111');
       axios.post('http://localhost:3000/axios', params)
        .then(function (ret) {
         console.log(ret.data)
        })

    // axios put 请求传参
    axios.put('http://localhost:3000/axios/123', {
      uname: 'lisi',
      pwd: 123
    }).then(function(ret) {
      console.log(ret.data)
    })



    // 对于 axios 来说,在 get 和 delete 请求中,参数要放入到 params 属性下
    // 在 post 和 put 请求中,参数直接放入到 对象中
  </script>
</body>

</html>

向后台发起请求的代码( 有的公司服务端的程序员不给写 ) 前端程序员仅供才考


app.get('/adata', (req, res) => {
  res.send('Hello axios!')
})
app.get('/axios', (req, res) => {
  res.send('axios get 传递参数' + req.query.id)
})
app.get('/axios/:id', (req, res) => {
  res.send('axios get (Restful) 传递参数' + req.params.id)
})
app.delete('/axios', (req, res) => {
  res.send('axios get 传递参数' + req.query.id)
})
app.delete('/axios/:id', (req, res) => {
  res.send('axios get (Restful) 传递参数' + req.params.id)
})
app.post('/axios', (req, res) => {
  res.send('axios post 传递参数' + req.body.uname + '---' + req.body.pwd)
})
app.put('/axios/:id', (req, res) => {
  res.send('axios put 传递参数' + req.params.id + '---' + req.body.uname + '---' + req.body.pwd)
})

到此这篇关于vue 中 get / delete 传递数组参数方法的文章就介绍到这了,更多相关vue 传递数组参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue 中 get / delete 传递数组参数方法

本文链接: https://www.lsjlt.com/news/122129.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue 中 get / delete 传递数组参数方法
    在前后端交互的时候,有时候需要通过 get 或者 delete 传递一个数组给后台,但是这样直接传递后台无法接收数据,因为在传递的过程中数组参数会被转译,结果如下: 参数...
    99+
    2022-11-11
  • vue中get方法和post方法怎么传递数组参数
    这篇文章主要介绍了vue中get方法和post方法怎么传递数组参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中get方法和post方法怎么传递数组参数文章都会有所收获,下面我们一起来看看吧。1、vue...
    99+
    2023-07-05
  • vue中get方法\post方法如何传递数组参数详解
    目录1、vue中get方法如何传递数组参数2、vue get与post传参方式2.1post:用data传递参数2.2get:用params传递参数附:uniapp使用uview报错...
    99+
    2023-03-23
    vue参数传递 vue的get请求传入数组参数 vue get请求传递参数
  • vue中的get方法\post方法如何实现传递数组参数
    目录get方法\post方法如何传递数组参数第一部分:vue中get方法如何传递数组参数 下面列出我的接口格式及解决方法的源码vue get与post传参方式1.post:...
    99+
    2022-11-13
  • Vue中mapMutations传递参数方式
    目录通过子组件定义的方法传递参数在…mapMutations引用当然也可以写直接传递关于mapMutations的作用通过子组件定义的方法传递参数 在…m...
    99+
    2022-11-13
  • php函数参数的传递方法
    这篇文章给大家分享的是有关php函数参数的传递方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,...
    99+
    2023-06-14
  • vue中怎么实现组件间参数传递
    vue中怎么实现组件间参数传递,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。举例说明例如:element-ui组件库中使用switch开关...
    99+
    2022-10-19
  • Vue中mapMutations传递参数方式是什么
    本篇内容主要讲解“Vue中mapMutations传递参数方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中mapMutations传递参数方式是什么”吧!通过子组件定义的方法传递...
    99+
    2023-06-30
  • Python中函数参数传递方法有哪些
    这篇文章主要介绍“Python中函数参数传递方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中函数参数传递方法有哪些”文章能帮助大家解决问题。定义和传递参数parameters ...
    99+
    2023-07-06
  • Shell参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…...
    99+
    2023-05-19
    Shell 参数传递 Shell 传递参数
  • Shell 参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……具体实例:以下实例我们向脚本传递三个参数,并分别输出...
    99+
    2023-05-12
    Shell 参数传递 Shell 传递参数
  • 使用JPA传递参数的方法
    目录JPA传递参数的方法第一种第二种浅谈JPA优缺点一.JPA的理解二.JPA 实体生命周期理解和总结三.为什么要使用JPAJPA传递参数的方法 第一种         @Quer...
    99+
    2022-11-13
  • 如何用vue实现组件间参数传递
    这篇文章主要介绍“如何用vue实现组件间参数传递”,在日常操作中,相信很多人在如何用vue实现组件间参数传递问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用vue实现组件间参数传递”的疑惑有所帮助!接下来...
    99+
    2023-07-04
  • SpringMVC中参数的传递方法有哪些
    这篇文章主要介绍“SpringMVC中参数的传递方法有哪些”,在日常操作中,相信很多人在SpringMVC中参数的传递方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • mybatis3中@SelectProvider传递参数方式
    mybatis3 @SelectProvider传递参数 一、通常情况下我喜欢使用实体或者vo去传参数 这样在Provide的方法中可以直接通过#{param}(param...
    99+
    2022-11-12
  • Vue的URL转跳与参数传递方法是什么
    这篇“Vue的URL转跳与参数传递方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue的URL转跳与参数传递方法是...
    99+
    2023-07-05
  • vue-router参数传递的方式是什么
    本篇内容介绍了“vue-router参数传递的方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue-router传递参数分为两大类...
    99+
    2023-07-04
  • Vue组件之间的参数传递与方法调用的实例详解
    目录父组件向子组件子组件调用父组件方法其它组件间调用补充:父组件向子组件 1.父组件向子组件传参:父组件中的子组件标签中增加 :param="param" 子组件...
    99+
    2022-12-08
    vue参数传递 vue方法调用
  • java方法怎么传递多个参数
    在Java中,可以使用以下几种方式传递多个参数给方法:1. 通过定义多个参数变量进行传递:```javapublic void me...
    99+
    2023-08-08
    java
  • iframe参数传递的方法是什么
    在HTML中,可以使用iframe标签来嵌套其他网页。要传递参数给嵌套的网页,可以使用以下方法:1. URL查询字符串:可以将参数作...
    99+
    2023-09-20
    iframe
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作