Jaký je doporučený způsob předávání adres URL jako parametrů adresy URL?

Pomocí &url='+encodeURIComponent(url); předání adresy URL z prohlížeče na server zakóduje adresu URL, ale když je dekódována na serveru, parametry adresy URL jsou interpretovány jako samostatné parametry a nikoli jako součást jediného parametru adresy URL.

Jaký je doporučený způsob předávání adres URL jako parametrů adresy URL?

Odpověď

encodeURIComponent() měl by pracovat. Například,

'&url=' + encodeURIComponent("http://a.com/?q=query&n=10")

produkuje

"&url=http%3A%2F%2Fa.com%2F%3Fq%3Dquery%26n%3D10"

(který nemá žádné & nebo ? v hodnotě). Když váš server získá tuto adresu URL, měl by být schopen ji dekódovat, aby získal originál:

param["url"] = "http://a.com/?q=query&n=10"

Nejsem si jistý, jaký server používáte (např. Rails, Django, …), ale to by mělo fungovat „z krabice“ na jakémkoli normálním systému.