"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment ajouter des paramètres de chaîne de requête aux requêtes Fetch GET ?

Comment ajouter des paramètres de chaîne de requête aux requêtes Fetch GET ?

Publié le 2024-11-10
Parcourir:906

How to add query string parameters to Fetch GET requests?

Ajout de chaîne de requête dans les requêtes Fetch GET

Tout en explorant les capacités de chaîne de requête de l'API Fetch, un développeur vise à transmettre des paramètres aux requêtes GET en utilisant une méthode similaire au $ de jQuery .ajax().

Solution

La nouvelle API Fetch utilise URLSearchParams pour gérer l'ajout de chaînes de requête. Cet objet offre un moyen pratique de créer et de modifier les paramètres de chaîne de requête.

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

La méthode URLSearchParams.toString() encode l'objet paramètre dans une chaîne de requête correctement formatée.

Vous pouvez également omettre l'appel .toString(), car JavaScript contraint automatiquement les objets non-chaînes en chaînes lorsqu'ils sont concaténés avec des chaînes. Notez que cette approche nécessite une compréhension plus approfondie de JavaScript.

Exemple complet

Voici un exemple complet avec des paramètres de requête :

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();
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3