Empujando un array en una solicitud GET de JS utilizando spread.
Estoy tratando de pasar un array a un script de php como parte de una llamada Ajax. Mientras que POST puede ser simple, parece que GET es la técnica correcta para hacer esto, también estoy creando el código de la api para que pueda ser de cualquiera de las dos formas en que lo envío. Por lo tanto, quiero poner el contenido del array 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){
// solicitud GET de ajax
let url = `api.php?p0=${1}&p1=${2}`;
// resto del código...
console.log(arg);
}
Esto sigue imprimiéndose como un array. ¿Cómo debería usar spread para obtener p0, p1 en una URL a partir de un array?
davy.ai
Para utilizar el operador de expansión para pasar el contenido de una matriz como parámetros separados en una URL de solicitud GET, puedes modificar tu código de la siguiente manera:
Al utilizar el operador de expansión
...
al pasar la matrizarg
acallMe()
, básicamente estás “expandiendo” su contenido en parámetros separados para la llamada a la función. Dentro decallMe()
, puedes acceder a estos parámetros utilizando el parámetroargs
, que seguirá siendo una matriz, pero con cada elemento representando un parámetro individual.Para construir la URL de solicitud GET con estos parámetros, puedes utilizar literales de plantillas y acceder a los parámetros individuales de la matriz
args
utilizando la indexación de matrices (args[0]
,args[1]
, etc.).