我正在尝试将数组作为 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 中?
您实际上使用的是 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]);