使用spread将数组推入JS GET请求

问题描述 投票:0回答:1

我正在尝试将数组作为 Ajax 调用的一部分传递给 php 脚本。虽然 POST 可能很简单,但 GET 似乎是执行此操作的正确技术,我还编写了 api 代码,以便可以通过任何一种方式发送给它。因此我想将数组内容作为请求的 2 个单独参数放入 url 中。

在阅读了一些有关循环的内容后,我发现了使用“spread”的建议:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

但是我不清楚如何正确使用它。这是我的代码:

const arg = ['p0', 'p1'];
callMe(arg);

function callMe(…arg){
// ajax GET request
   let url = `api.php?p0=${1}&p1=${2}`;
   // rest of code…
   console.log(arg);
}

这仍然以数组的形式打印出来。我应该如何使用 spread 将 p0, p1 从数组放入 url 中?

javascript spread-syntax
1个回答
1
投票

您实际上使用的是 rest 语法,这就是如何让函数具有无限数量的参数,这些参数将作为参数数组呈现。

function foo(...args) {
   console.log(args);
}

foo('hello', 1, 'bar', true);

但是您要寻找的是在将

args
传递给
callMe
函数时使用展开语法。

请参阅下面的示例。这里我们期望两个参数

p0
p1
。使用扩展语法时,我们将数组中的每个项目作为参数传递给
callMe
函数。

const args = ['foo', 'bar'];

function callMe(p0, p1){
   let url = `api.php?p0=${p0}&p1=${p1}`;
   console.log(url);
}

callMe(...args); // Same as callMe(args[0], args[1]);

© www.soinside.com 2019 - 2024. All rights reserved.