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