广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中get方法\post方法如何传递数组参数详解
  • 606
分享到

vue中get方法\post方法如何传递数组参数详解

摘要

目录1、Vue中get方法如何传递数组参数2、vue get与post传参方式2.1post:用data传递参数2.2get:用params传递参数附:uniapp使用uview报错

1、vue中get方法如何传递数组参数

直接放在对象中传递数组

export function getCrApplicationList(data) {
  var test = [‘111‘, ‘222‘]
  return request({
    url: ‘/applicant/CrApplication/List‘,
    method: ‘get‘,
    params: { test }
  })
}

但是这样的话后台是取不到值的,我们需要把数组变成如下这种格式:

test:111

test:222

首先找到axiOS.js,加如下代码:

if (config.method === ‘get‘) {
    // 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2
    config.paramsSerializer = function(params) {
      return qs.stringify(params, { arrayFORMat: ‘repeat‘ })
    }
  }

如果get请求中参数是数组格式,则数组里每一项的属性名重复使用。

同样的,post方法传get方法的传参格式时候通用该方法。

封装的接口部分:


export function doFuncTest(idListVal, orderId) {
    return request({
        url: '/xxxx/xxx',
        method: 'post',
        baseURL: '//192.168.xxx.xxx:xxxx/xxx/xxx/xxx',
        params: {
            idList: idListVal,
            orderId: orderId
        }
    })
}

拦截器部分:

if (config.method === 'post') {
    config.paramsSerializer = function(params) {
        return qs.stringify(params, { arrayFormat: 'repeat' })
    }
}

2、vue get与post传参方式

vue的封装接口中,post与get的传参方式是不同的

2.1post:用data传递参数


export function AddAnimalType (params) {
  return request({
    url: baseUrl + '/addAnimalType',
    method: 'post',
    data: params
  })
}

调用代码:

下面的 this.formData 是在data中定义的列表里边包含了id等信息

    //新增
    insertAnimalType () {
      AddAnimalType(this.formData).then(response => {
        if (response.status == 0) {
          succeSSMessage(response.statusText)
        }
        else {
          errMessage(response.statusText)
        }
      }).catch(error => {
        errorCollback(error)
      })
    },

2.2get:用params传递参数


export function selectById (params) {
  return request({
    url: baseUrl + '/selectById',
    method: 'get',
    params
  })
}

调用接口:

    //获取详情
    getDetail () {
      selectById({ animalId: this.formData.id }).then(response => {
        if (response.status == 0) {
          this.formData = response.data.animalType
        }
        else {
          errMessage(response.statusText)
        }
      }).catch(error => {
        errorCollback(error)
      })
    },

附:uniapp使用uview报错没找到该组件或者要求你检查easycom规范

这都是pagej.soneasycom的错误:

使用Uview-ui组件时,如果是npm安装 需要在page.JSON中修改easycom配置,

如果是下载安装,则需要有@/  如果是npm安装 则去掉@/,使用cnpm则无法使用 重新使用npm或者 下载安装

注意:改正后一定重启HBx!!!

总结

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

--结束END--

本文标题: vue中get方法\post方法如何传递数组参数详解

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

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

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

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作