"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agregar parámetros de cadena de consulta a las solicitudes Fetch GET?

¿Cómo agregar parámetros de cadena de consulta a las solicitudes Fetch GET?

Publicado el 2024-11-10
Navegar:529

How to add query string parameters to Fetch GET requests?

Adición de cadena de consulta en solicitudes GET de recuperación

Mientras explora las capacidades de cadena de consulta de la API Fetch, un desarrollador pretende pasar parámetros a solicitudes GET utilizando un método similar a $ de jQuery .ajax().

Solución

La nueva API Fetch emplea URLSearchParams para abordar la consulta adición de cadenas. Este objeto ofrece una manera conveniente de crear y modificar parámetros de cadenas de consulta.

fetch('https://example.com?'   new URLSearchParams({
    foo: 'value',
    bar: 2,
}).toString())

El método URLSearchParams.toString() codifica el objeto de parámetro en una cadena de consulta con el formato adecuado.

Como alternativa, puede omitir la llamada a .toString(), como JavaScript convierte automáticamente los objetos que no son cadenas en cadenas cuando se concatenan con cadenas. Tenga en cuenta que este enfoque requiere una comprensión más profunda de JavaScript.

Ejemplo completo

Aquí hay un ejemplo completo con parámetros de consulta:

async function doAsyncTask() {
  const url = (
    'https://jsonplaceholder.typicode.com/comments?'  
    new URLSearchParams({ postId: 1 }).toString()
  );

  const result = await fetch(url)
    .then(response => response.json());

  console.log('Fetched from: '   url);
  console.log(result);
}

doAsyncTask();
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3