记录两个不同域名之间的传参 参数是数组

74 阅读1分钟

通过路由把这个数组传到另一个系统 简称 a系统 b系统 从a到b

   [{bizNo: "CO20221205007", cntrModel: "40HQ", cntrNumRem: 5, cntrNum: "5"},
    {bizNo: "CO20221205004", cntrModel: "40HQ", cntrNumRem: 5, cntrNum: "5"},
    {bizNo: "CO20221205007", cntrModel: "40GP", cntrNumRem: 7, cntrNum: "7"}]
    

一开始用的JSON.stringify()方式 www.baidu.com/index?resLi…' + JSON.stringify(this.resList) 会遇到一个问题 当第一次进入另一个系统的时候 另一个系统会进入登录跳转一下 然后报

image.png

我觉得问题是出在这

image.png 因为再次进入b系统就没这个报错了

然后是解决方式

在a系统 把这个数组循环

   for (const lineIndex in this.resList) {
    str += '&bizNo' + lineIndex + '=' + this.resList[lineIndex].bizNo + '&cntrModel' +      lineIndex + '=' + this.resList[lineIndex].cntrModel + '&cntrNum' + lineIndex + '=' + this.resList[lineIndex].cntrNum + '&cntrNumRem' + lineIndex + '=' + this.resList[lineIndex].cntrNumRem
  }
  let url = ''
  url = ' https://www.baidu.com/index?resList=1'+ str
  window.open(url, '_blank')
  
  

跳到b系统
获得当前url 判断出要传入的数组的lenght 然后循环长度 复原要传入的数组

  const str = window.location.href

  const que = this.$route.query
  
  let index = str.indexOf('bizNo')
  let sum = 0
  while (index > -1) {
    index = str.indexOf('bizNo', index + 1)
    sum++
  }
  


  for (var i = 0; i < sum; i++) {
    const objs = {
      bizNo: que['bizNo' + i],
      cntrModel: que['cntrModel' + i],
      cntrNum: que['cntrNum' + i],
      cntrNumRem: que['cntrNumRem' + i]
    }
    this.cntrInfoIdList.push(objs)
  }

我真是个天才 我真是个天才 我真是个天才