使用传播将数组推入 JS GET 请求

Pushing array into JS GET request using spread

我正在尝试将一个数组作为 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=&p1=`;
   // rest of code…
   console.log(arg);
}

这仍然作为数组打印出来。我应该如何使用 spread 从数组中获取 p0、p1 放入 url?

你实际上是在使用 rest syntax,这就是你如何让一个函数拥有无限数量的参数,这些参数将以参数数组的形式呈现。

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

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

但是您正在寻找的是在将 args 传递给 callMe 函数时使用扩展语法。

参见下面的示例。这里我们期望两个参数 p0p1。使用扩展语法时,我们将数组中的每个项目作为参数传递给 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]);