Jak odeslat objekt JSON jako parametr v požadavcích HTTP v JavaScriptu

Chcete-li odeslat objekt JSON nebo pole jako parametr v požadavcích HTTP (GET nebo POST ) v JavaScriptu jej nejprve musíte převést na řetězec pomocí JSON.stringify() metoda.

Dále použijte encodeURIComponent() metoda pro kódování řetězce JSON. Používá UTF-8 schéma kódování a kóduje všechny znaky se speciálním významem kromě -_.!~*'() .

Nakonec můžete k adrese URL připojit zakódovaný řetězec a vytvořit požadavek HTTP.

Zde je úplný příklad, který používá rozhraní Fetch API k vytvoření požadavku GET v JavaScriptu a odesílá pole JSON jako parametr:

const users = [
  { name: 'John Deo', age: 23 },
  { name: 'Jane Doe', age: 21 }
]

const encodedData = encodeURIComponent(JSON.stringify(users))

fetch(`https://www.example.com?users=${encodedData}`)
  .then(res => res.text())
  .then(res => console.log(res))
  .catch(err => console.error(err))

// Final URL: https://www.example.com/?users=%5B%7B%22name%22%3A%22John%20Deo%22%2C%22age%22%3A23%7D%2C%7B%22name%22%3A%22Jane%20Doe%22%2C%22age%22%3A21%7D%5D