es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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:

    const arg = ['p0', 'p1'];
    callMe(...arg); // utiliza el operador de expansión para pasar el contenido de la matriz como parámetros separados
    
    function callMe(...args){
      // solicitud GET ajax
      let url = `api.php?p0=${args[0]}&p1=${args[1]}`; // accede a los parámetros individuales utilizando la indexación de matrices
      // resto del código…
      console.log(args); // esto aún se imprimirá como una matriz
    }
    

    Al utilizar el operador de expansión ... al pasar la matriz arg a callMe(), básicamente estás “expandiendo” su contenido en parámetros separados para la llamada a la función. Dentro de callMe(), puedes acceder a estos parámetros utilizando el parámetro args, 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.).

Comments are closed.