在 JavaScript 中将多个数组值作为 url 变量传递

Posted

技术标签:

【中文标题】在 JavaScript 中将多个数组值作为 url 变量传递【英文标题】:Pass multiple array values as a url variable in JavaScript 【发布时间】:2021-06-01 04:27:12 【问题描述】:

我有 3 个数组要传递给 URL 的变量。我想知道如何将它们传递给 URL。

export default function () 
    let p_code = ['P', 'Y', 'M', 'C'];
  let c_flg = ['O', 'C', 'B'];
  let page = ['H', 'F', 'W'];
    let res = "";

    for (var i = 0; i < p_code.length; i++) 
        res = http.post('https://myabcdomain.com/pass/mark/myhope.jsp?p_code='+p_code[i]+'&set_id=999&crncy_code=NGN&cls_opn_flg='+c_flg[i]+'&high_tran_date_ui='+encodeURIComponent('2021-01-04T05')+'&page_size='+page[i], 
      tags:  name: 'UISheetPrint' ,
    );
      // console.log(accountNumbers[i]);
  

【问题讨论】:

a) 您对接收方有任何控制权吗?因此客户端和服务器都可以就格式达成一致。 b) 如果您已经在使用 post,您是否考虑过在正文中传递这个? 这能回答你的问题吗? How to pass an array as a URL parameter? @Renat,谢谢。这只是一个参数。我需要传递给 3 个变量 @malarres,不。我正在运行负载测试,我只能通过 URL 链接访问服务器 【参考方案1】:

详细说明@Renat 评论,并关注https://***.com/a/40493291/2729605,您可以这样做:

  let p_code = ['P', 'Y', 'M', 'C'];
  let c_flg = ['O', 'C', 'B'];
  let page = ['H', 'F', 'W'];
  let res = "";
  let p_codeStr = encodeURIComponent(JSON.stringify(p_code));
  let c_flgStr  = encodeURIComponent(JSON.stringify(c_flg));
  let pageStr  = encodeURIComponent(JSON.stringify(page));

  let reqStr = `https://myabcdomain.com/pass/mark/myhope.jsp?p_code=$p_codeStr&set_id=999&crncy_code=NGN&cls_opn_flg=$c_flgStr&high_tran_date_ui=$encodeURIComponent('2021-01-04T05')&page_size=$pageStr`

console.log(reqStr)


// res = http.post(reqStr, 
//      tags:  name: 'UISheetPrint' ,
//    );

(取消评论)

【讨论】:

以上是关于在 JavaScript 中将多个数组值作为 url 变量传递的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中将数组作为函数参数传递

在javascript中将数组作为元素添加到数组中

在 Javascript 中将多个 Promise 推入数组时处理单个错误

在Javascript中将对象转换为包含多个对象的数组的理想方法是啥? (允许 ES6)

如何在javascript中将一个数组中的值添加到另一个数组

如何在javascript中将字符串值作为引用传递并在那里进行更改