Estoy tratando de pasar una matriz a un script php como parte de una llamada Ajax. Si bien POST puede ser simple, parece que GET es la técnica correcta para hacer esto, también estoy creando el código API para que pueda enviarlo de cualquier manera. Por lo tanto, quiero colocar el contenido de la matriz en la URL como 2 parámetros separados de la solicitud.
Después de leer un poco sobre los bucles, encontré la sugerencia de usar "spread": https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
Sin embargo, no tengo claro cómo usarlo correctamente. Este fue mi código:
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); }Esto todavía se imprime como una matriz. ¿Cómo debo usar spread para obtener p0, p1 en una URL de una matriz?
En realidad, está utilizando la sintaxis de descanso , que es cómo permite que una función tenga una cantidad infinita de argumentos que se presentarán como una matriz de argumentos.
function foo(...args) { console.log(args); } foo('hello', 1, 'bar', true); Pero lo que está buscando es usar la sintaxis extendida al pasar los callMe args
Vea el ejemplo a continuación. Aquí esperamos dos parámetros p0 y p1 . Cuando usamos la sintaxis extendida, pasamos cada elemento de la matriz como argumento a la función 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]);