{"id":84982,"date":"2024-11-22T21:04:41","date_gmt":"2024-11-22T17:34:41","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/"},"modified":"2024-11-22T21:04:41","modified_gmt":"2024-11-22T17:34:41","slug":"pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/","title":{"rendered":"\u0645\u0634\u06a9\u0644\u0627\u062a URL \u0648 URLSearchParams \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang <\/p>\n<p>  \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0628\u0627 \u06cc\u06a9 \u0627\u0634\u06a9\u0627\u0644 \u0634\u0631\u0648\u0639 \u0634\u062f<\/p>\n<p>\u06a9\u0627\u0631 \u0628\u0627 URL \u0647\u0627 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 Node.js \u0628\u0627\u06cc\u062f \u0633\u0627\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u06cc\u06a9 \u0628\u0627\u06af \u0627\u062e\u06cc\u0631 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u0627 \u0628\u0627\u0639\u062b \u0634\u062f \u062a\u0627 \u0645\u0646 \u0628\u0647 \u06cc\u06a9 \u0633\u0648\u0631\u0627\u062e \u062e\u0631\u06af\u0648\u0634\u06cc \u0627\u0632 \u0627\u0628\u0647\u0627\u0645\u0627\u062a \u0638\u0631\u06cc\u0641 \u062f\u0633\u062a \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0645. URL \u0648 URLSearchParams API \u0647\u0627 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f\u060c \u0627\u06cc\u0646\u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0631 \u06a9\u062f \u0634\u0645\u0627 \u0645\u0634\u06a9\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f \u0648 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0686\u0647 \u06a9\u0627\u0631\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<p>  \u0645\u0634\u06a9\u0644: \u0645\u062f\u06cc\u0631\u06cc\u062a URL \u0628\u0627 Axios<\/p>\n<p>\u0645\u0627 \u0647\u0646\u06af\u0627\u0645 \u062a\u0648\u0644\u06cc\u062f URL \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0645\u0636\u0627\u06cc \u0647\u0634 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u0645. \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0646\u0634\u062f\u0647 \u0628\u0648\u062f\u0646\u062f\u060c \u06a9\u0647 \u0645\u0646\u062c\u0631 \u0628\u0647 \u0631\u0641\u062a\u0627\u0631 \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647 \u0648 \u0627\u0645\u0636\u0627\u0647\u0627\u06cc \u0647\u0634 \u0627\u0634\u062a\u0628\u0627\u0647 \u0634\u062f.<\/p>\n<p>\u0645\u0634\u062e\u0635 \u0634\u062f \u06a9\u0647 \u062a\u0639\u0627\u0645\u0644 \u0628\u06cc\u0646 URL \u0648 URLSearchParams \u0627\u0634\u06cc\u0627\u0621 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0645\u0631\u0627\u0642\u0628\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0631\u0646\u062f<\/p>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 1: URL.search \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 URLSearchParams.toString()<\/p>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u0634\u06af\u0641\u062a\u06cc \u062a\u0641\u0627\u0648\u062a \u0628\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0628\u0648\u062f URL.search \u0648 URLSearchParams.toString().<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0631\u0627\u0642\u0628 \u0628\u0627\u0634\u06cc\u062f .searchParams \u0628\u0631\u0627\u06cc \u0627\u0635\u0644\u0627\u062d URL \u0632\u06cc\u0631\u0627 \u0637\u0628\u0642 \u0645\u0634\u062e\u0635\u0627\u062a WHATWG\u060c URLSearchParams \u0634\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u062f\u0627\u0645 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c URL \u0634\u06cc\u0621 tilde ASCII \u0631\u0627 \u0628\u0627 \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0646\u0645\u06cc \u06a9\u0646\u062f (~) \u0634\u062e\u0635\u06cc\u062a\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 URLSearchParams \u0647\u0645\u06cc\u0634\u0647 \u0622\u0646 \u0631\u0627 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<p>\/\/ Example 1<br \/>\nconst url = new URL(&#8220;https:\/\/example.com?param=foo bar&#8221;);<br \/>\nconsole.log(url.search); \/\/ prints param=foo%20bar<br \/>\nconsole.log(url.searchParams.toString()); \/\/ prints ?param=foo+bar<\/p>\n<p>\/\/ Example 2<br \/>\nconst myURL = new URL(&#8216;https:\/\/example.org\/abc?foo=~bar&#8217;);<br \/>\nconsole.log(myURL.search);  \/\/ prints ?foo=~bar<br \/>\n\/\/ Modify the URL via searchParams&#8230;<br \/>\nmyURL.searchParams.sort();<br \/>\nconsole.log(myURL.search);  \/\/ prints ?foo=%7Ebar<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u0627\u060c \u0645\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u062f\u0627\u0634\u062a\u06cc\u0645 url.search = url.searchParams.toString() \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0631\u0634\u062a\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 2: \u0645\u0639\u0636\u0644 \u0639\u0644\u0627\u0645\u062a \u0645\u062b\u0628\u062a<\/p>\n<p>\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u0645\u0634\u06a9\u0644\u0627\u062a \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 URLSearchParams \u062f\u0633\u062a\u0647 \u0647\u0627 + \u0634\u062e\u0635\u06cc\u062a \u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c URLSearchParams \u062a\u0641\u0633\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f + \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0641\u0627\u0635\u0644\u0647\u060c \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0627\u06cc\u0646\u0631\u06cc \u06cc\u0627 \u0631\u0634\u062a\u0647 \u0647\u0627\u06cc Base64 \u0645\u0646\u062c\u0631 \u0628\u0647 \u062e\u0631\u0627\u0628 \u0634\u062f\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0634\u0648\u062f.<\/p>\n<p>const params = new URLSearchParams(&#8220;bin=E+AXQB+A&#8221;);<br \/>\nconsole.log(params.get(&#8220;bin&#8221;)); \/\/ &#8220;E AXQB A&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a encodeURIComponent \u0642\u0628\u0644 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0628\u0647 URLSearchParams:<\/p>\n<p>params.append(&#8220;bin&#8221;, encodeURIComponent(&#8220;E+AXQB+A&#8221;));<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u0633\u0646\u0627\u062f MDN \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a.<\/p>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 3: URLSearchParams.get \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 URLSearchParams.toString()<\/p>\n<p>\u0638\u0631\u0627\u0641\u062a \u062f\u06cc\u06af\u0631\u06cc \u0647\u0646\u06af\u0627\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u062e\u0631\u0648\u062c\u06cc \u0647\u0627 \u0628\u0647 \u0648\u062c\u0648\u062f \u0645\u06cc \u0622\u06cc\u062f URLSearchParams.get \u0648 URLSearchParams.toString. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644:<\/p>\n<p>const params = new URLSearchParams(&#8220;?key=value&amp;key=other&#8221;);<br \/>\nconsole.log(params.get(&#8220;key&#8221;)); \/\/ &#8220;value&#8221; (first occurrence)<br \/>\nconsole.log(params.toString()); \/\/ &#8220;key=value&amp;key=other&#8221; (all occurrences serialized)<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0686\u0646\u062f \u0627\u0631\u0632\u0634\u06cc\u060c get \u0641\u0642\u0637 \u0627\u0648\u0644\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f\u060c while toString \u0647\u0645\u0647 \u0631\u0627 \u0633\u0631\u06cc\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f<\/p>\n<p>  \u0631\u0641\u0639 \u0645\u0634\u06a9\u0644 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u0645\u0627<\/p>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f\u060c \u0645\u0634\u06a9\u0644 \u0631\u0627 \u0628\u0627 \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u0635\u0631\u06cc\u062d\u0627\u064b \u062d\u0644 \u06a9\u0631\u062f\u06cc\u0645 search \u062f\u0627\u0631\u0627\u06cc\u06cc:<\/p>\n<p>url.search = url.searchParams.toString();<br \/>\nurl.searchParams.set(<br \/>\n  &#8220;hash&#8221;,<br \/>\n  cryptography.createSha256HmacBase64UrlSafe(url.href, SECRET_KEY ?? &#8220;&#8221;)<br \/>\n);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062f \u06a9\u0647 \u062a\u0645\u0627\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0642\u0628\u0644 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f hash \u0627\u0631\u0632\u0634<\/p>\n<p>  Node.js querystring \u0645\u0627\u0698\u0648\u0644<\/p>\n<p>WHATWG URLSearchParams \u0631\u0627\u0628\u0637 \u0648 querystring \u0645\u0627\u0698\u0648\u0644 \u06cc\u06a9 \u0647\u062f\u0641 \u0645\u0634\u0627\u0628\u0647 \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0647\u062f\u0641 \u0627\u0632 querystring \u0645\u0627\u0698\u0648\u0644 \u06a9\u0644\u06cc \u062a\u0631 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0627\u0632\u06cc \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u062c\u062f\u0627\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f (&amp; \u0648 =). \u0627\u0632 \u0633\u0648\u06cc \u062f\u06cc\u06af\u0631\u060c URLSearchParams API \u0635\u0631\u0641\u0627\u064b \u0628\u0631\u0627\u06cc \u0631\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648\u06cc URL \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>querystring  \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 URLSearchParams \u0627\u0645\u0627 \u06cc\u06a9 API \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0646\u06cc\u0633\u062a. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f URLSearchParams \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u062d\u06cc\u0627\u062a\u06cc \u0646\u06cc\u0633\u062a \u06cc\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0628\u0627 \u06a9\u062f \u0645\u0631\u0648\u0631\u06af\u0631 \u0645\u0637\u0644\u0648\u0628 \u0627\u0633\u062a.<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 URLSearchParams \u0628\u0631 \u062e\u0644\u0627\u0641 querystring \u0645\u0627\u0698\u0648\u0644\u060c \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062a\u06a9\u0631\u0627\u0631\u06cc \u062f\u0631 \u0642\u0627\u0644\u0628 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0645\u062c\u0627\u0632 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f array.toString()\u060c \u06a9\u0647 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u062a\u0645\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0627 \u0628\u0647 \u0647\u0645 \u0645\u06cc \u067e\u06cc\u0648\u0646\u062f\u062f.<\/p>\n<p>const params = new URLSearchParams({<br \/>\n  user: &#8216;abc&#8217;,<br \/>\n  query: [&#8216;first&#8217;, &#8216;second&#8217;],<br \/>\n});<br \/>\nconsole.log(params.getAll(&#8216;query&#8217;));<br \/>\n\/\/ Prints [ &#8216;first,second&#8217; ]\nconsole.log(params.toString());<br \/>\n\/\/ Prints &#8216;user=abc&amp;query=first%2Csecond&#8217;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0627 querystring \u0645\u0627\u0698\u0648\u0644\u060c \u0631\u0634\u062a\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 &#8216;foo=bar&amp;abc=xyz&amp;abc=123&#8217; \u062a\u062c\u0632\u06cc\u0647 \u0645\u06cc \u0634\u0648\u062f \u0628\u0647:<\/p>\n<p>{<br \/>\n  &#8220;foo&#8221;: &#8220;bar&#8221;,<br \/>\n  &#8220;abc&#8221;: [&#8220;xyz&#8221;, &#8220;123&#8221;]\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u063a\u0630\u0627\u06cc \u0622\u0645\u0627\u062f\u0647<\/p>\n<p>\u0628\u0627\u0634\u062f \u0645\u062d\u062a\u0627\u0637 \u0627\u0632 \u0686\u06af\u0648\u0646\u06af\u06cc URLSearchParams  \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u062e\u0627\u0635 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc \u06a9\u0646\u062f (\u0645\u062b\u0644\u0627 ~) \u0648 \u0641\u0636\u0627\u0647\u0627. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f encodeURIComponent \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645<br \/>\n\u062a\u0641\u0627\u0648\u062a \u0628\u06cc\u0646 \u0631\u0627 \u062f\u0631\u06a9 \u06a9\u0646\u06cc\u062f URL.search\u060c URLSearchParams.get\u060c \u0648 URLSearchParams.toString \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0631\u0641\u062a\u0627\u0631 \u063a\u06cc\u0631 \u0645\u0646\u062a\u0638\u0631\u0647<br \/>\n\u062f\u0631 Node.js \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f querystring \u0645\u0627\u0698\u0648\u0644 \u0627\u06af\u0631 \u0634\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u062a\u06a9\u0631\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u062a\u062c\u0632\u06cc\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<div data-article-id=\"2117244\" id=\"article-body\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D9%87%D9%85%D9%87_%DA%86%DB%8C%D8%B2_%D8%A8%D8%A7_%DB%8C%DA%A9_%D8%A7%D8%B4%DA%A9%D8%A7%D9%84_%D8%B4%D8%B1%D9%88%D8%B9_%D8%B4%D8%AF\" >\u0647\u0645\u0647 \u0686\u06cc\u0632 \u0628\u0627 \u06cc\u06a9 \u0627\u0634\u06a9\u0627\u0644 \u0634\u0631\u0648\u0639 \u0634\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D9%85%D8%B4%DA%A9%D9%84_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_URL_%D8%A8%D8%A7_Axios\" >\u0645\u0634\u06a9\u0644: \u0645\u062f\u06cc\u0631\u06cc\u062a URL \u0628\u0627 Axios<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_1_URLsearch_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_URLSearchParamstoString\" >\u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 1: URL.search \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 URLSearchParams.toString()<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_2_%D9%85%D8%B9%D8%B6%D9%84_%D8%B9%D9%84%D8%A7%D9%85%D8%AA_%D9%85%D8%AB%D8%A8%D8%AA\" >\u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 2: \u0645\u0639\u0636\u0644 \u0639\u0644\u0627\u0645\u062a \u0645\u062b\u0628\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_3_URLSearchParamsget_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_URLSearchParamstoString\" >\u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 3: URLSearchParams.get \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 URLSearchParams.toString()<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D8%B1%D9%81%D8%B9_%D9%85%D8%B4%DA%A9%D9%84_%D8%AF%D8%B1_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%DA%A9%D8%AF_%D9%85%D8%A7\" >\u0631\u0641\u0639 \u0645\u0634\u06a9\u0644 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u0645\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#Nodejs_querystring_%D9%85%D8%A7%DA%98%D9%88%D9%84\" >Node.js querystring \u0645\u0627\u0698\u0648\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/pitfalls-of-url-and-urlsearchparams-in-javascript-4ef8\/#%D8%BA%D8%B0%D8%A7%DB%8C_%D8%A2%D9%85%D8%A7%D8%AF%D9%87\" >\u063a\u0630\u0627\u06cc \u0622\u0645\u0627\u062f\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%87%D9%85%D9%87_%DA%86%DB%8C%D8%B2_%D8%A8%D8%A7_%DB%8C%DA%A9_%D8%A7%D8%B4%DA%A9%D8%A7%D9%84_%D8%B4%D8%B1%D9%88%D8%B9_%D8%B4%D8%AF\"><\/span>\n<p>  \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0628\u0627 \u06cc\u06a9 \u0627\u0634\u06a9\u0627\u0644 \u0634\u0631\u0648\u0639 \u0634\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06a9\u0627\u0631 \u0628\u0627 URL \u0647\u0627 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 Node.js \u0628\u0627\u06cc\u062f \u0633\u0627\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u06cc\u06a9 \u0628\u0627\u06af \u0627\u062e\u06cc\u0631 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u0627 \u0628\u0627\u0639\u062b \u0634\u062f \u062a\u0627 \u0645\u0646 \u0628\u0647 \u06cc\u06a9 \u0633\u0648\u0631\u0627\u062e \u062e\u0631\u06af\u0648\u0634\u06cc \u0627\u0632 \u0627\u0628\u0647\u0627\u0645\u0627\u062a \u0638\u0631\u06cc\u0641 \u062f\u0633\u062a \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0645. <code>URL<\/code> \u0648 <code>URLSearchParams<\/code> API \u0647\u0627 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f\u060c \u0627\u06cc\u0646\u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0631 \u06a9\u062f \u0634\u0645\u0627 \u0645\u0634\u06a9\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f \u0648 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0686\u0647 \u06a9\u0627\u0631\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B4%DA%A9%D9%84_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_URL_%D8%A8%D8%A7_Axios\"><\/span>\n<p>  \u0645\u0634\u06a9\u0644: \u0645\u062f\u06cc\u0631\u06cc\u062a URL \u0628\u0627 Axios<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u0647\u0646\u06af\u0627\u0645 \u062a\u0648\u0644\u06cc\u062f URL \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0645\u0636\u0627\u06cc \u0647\u0634 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u0645. \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0646\u0634\u062f\u0647 \u0628\u0648\u062f\u0646\u062f\u060c \u06a9\u0647 \u0645\u0646\u062c\u0631 \u0628\u0647 \u0631\u0641\u062a\u0627\u0631 \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647 \u0648 \u0627\u0645\u0636\u0627\u0647\u0627\u06cc \u0647\u0634 \u0627\u0634\u062a\u0628\u0627\u0647 \u0634\u062f.<\/p>\n<p>\u0645\u0634\u062e\u0635 \u0634\u062f \u06a9\u0647 \u062a\u0639\u0627\u0645\u0644 \u0628\u06cc\u0646 <code>URL<\/code> \u0648 <code>URLSearchParams<\/code> \u0627\u0634\u06cc\u0627\u0621 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0645\u0631\u0627\u0642\u0628\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0631\u0646\u062f<\/p>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_1_URLsearch_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_URLSearchParamstoString\"><\/span>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 1: <code>URL.search<\/code> \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 <code>URLSearchParams.toString()<\/code><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u0634\u06af\u0641\u062a\u06cc \u062a\u0641\u0627\u0648\u062a \u0628\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0628\u0648\u062f <code>URL.search<\/code> \u0648 <code>URLSearchParams.toString()<\/code>.<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0631\u0627\u0642\u0628 \u0628\u0627\u0634\u06cc\u062f <code>.searchParams<\/code> \u0628\u0631\u0627\u06cc \u0627\u0635\u0644\u0627\u062d <code>URL<\/code> \u0632\u06cc\u0631\u0627 \u0637\u0628\u0642 \u0645\u0634\u062e\u0635\u0627\u062a WHATWG\u060c <code>URLSearchParams<\/code> \u0634\u06cc \u0627\u0632 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u062f\u0627\u0645 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c <code>URL<\/code> \u0634\u06cc\u0621 tilde ASCII \u0631\u0627 \u0628\u0627 \u062f\u0631\u0635\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0646\u0645\u06cc \u06a9\u0646\u062f (<code>~<\/code>) \u0634\u062e\u0635\u06cc\u062a\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 <code>URLSearchParams<\/code> \u0647\u0645\u06cc\u0634\u0647 \u0622\u0646 \u0631\u0627 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"c1\">\/\/ Example 1<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">url<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">URL<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">https:\/\/example.com?param=foo bar<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">search<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ prints param=foo%20bar<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">searchParams<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">());<\/span> <span class=\"c1\">\/\/ prints ?param=foo+bar<\/span>\n\n<span class=\"c1\">\/\/ Example 2<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">myURL<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">URL<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.org\/abc?foo=~bar<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">myURL<\/span><span class=\"p\">.<\/span><span class=\"nx\">search<\/span><span class=\"p\">);<\/span>  <span class=\"c1\">\/\/ prints ?foo=~bar<\/span>\n<span class=\"c1\">\/\/ Modify the URL via searchParams...<\/span>\n<span class=\"nx\">myURL<\/span><span class=\"p\">.<\/span><span class=\"nx\">searchParams<\/span><span class=\"p\">.<\/span><span class=\"nf\">sort<\/span><span class=\"p\">();<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">myURL<\/span><span class=\"p\">.<\/span><span class=\"nx\">search<\/span><span class=\"p\">);<\/span>  <span class=\"c1\">\/\/ prints ?foo=%7Ebar<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u0627\u060c \u0645\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u062f\u0627\u0634\u062a\u06cc\u0645 <code>url.search = url.searchParams.toString()<\/code> \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0631\u0634\u062a\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0647 \u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_2_%D9%85%D8%B9%D8%B6%D9%84_%D8%B9%D9%84%D8%A7%D9%85%D8%AA_%D9%85%D8%AB%D8%A8%D8%AA\"><\/span>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 2: \u0645\u0639\u0636\u0644 \u0639\u0644\u0627\u0645\u062a \u0645\u062b\u0628\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u0645\u0634\u06a9\u0644\u0627\u062a \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 <code>URLSearchParams<\/code> \u062f\u0633\u062a\u0647 \u0647\u0627 <code>+<\/code> \u0634\u062e\u0635\u06cc\u062a \u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c <code>URLSearchParams<\/code> \u062a\u0641\u0633\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f <code>+<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0641\u0627\u0635\u0644\u0647\u060c \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0627\u06cc\u0646\u0631\u06cc \u06cc\u0627 \u0631\u0634\u062a\u0647 \u0647\u0627\u06cc Base64 \u0645\u0646\u062c\u0631 \u0628\u0647 \u062e\u0631\u0627\u0628 \u0634\u062f\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">params<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">URLSearchParams<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">bin=E+AXQB+A<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">bin<\/span><span class=\"dl\">\"<\/span><span class=\"p\">));<\/span> <span class=\"c1\">\/\/ \"E AXQB A\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a <code>encodeURIComponent<\/code> \u0642\u0628\u0644 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0628\u0647 <code>URLSearchParams<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">append<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">bin<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nf\">encodeURIComponent<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">E+AXQB+A<\/span><span class=\"dl\">\"<\/span><span class=\"p\">));<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0627\u0633\u0646\u0627\u062f MDN \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a.<\/p>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%A7%D9%85_%D8%B4%D9%85%D8%A7%D8%B1%D9%87_3_URLSearchParamsget_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_URLSearchParamstoString\"><\/span>\n<p>  \u062f\u0627\u0645 \u0634\u0645\u0627\u0631\u0647 3: <code>URLSearchParams.get<\/code> \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 <code>URLSearchParams.toString()<\/code><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0638\u0631\u0627\u0641\u062a \u062f\u06cc\u06af\u0631\u06cc \u0647\u0646\u06af\u0627\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u062e\u0631\u0648\u062c\u06cc \u0647\u0627 \u0628\u0647 \u0648\u062c\u0648\u062f \u0645\u06cc \u0622\u06cc\u062f <code>URLSearchParams.get<\/code> \u0648 <code>URLSearchParams.toString<\/code>. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">params<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">URLSearchParams<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">?key=value&amp;key=other<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">key<\/span><span class=\"dl\">\"<\/span><span class=\"p\">));<\/span> <span class=\"c1\">\/\/ \"value\" (first occurrence)<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">());<\/span> <span class=\"c1\">\/\/ \"key=value&amp;key=other\" (all occurrences serialized)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0686\u0646\u062f \u0627\u0631\u0632\u0634\u06cc\u060c <code>get<\/code> \u0641\u0642\u0637 \u0627\u0648\u0644\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f\u060c while <code>toString<\/code> \u0647\u0645\u0647 \u0631\u0627 \u0633\u0631\u06cc\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D9%81%D8%B9_%D9%85%D8%B4%DA%A9%D9%84_%D8%AF%D8%B1_%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87_%DA%A9%D8%AF_%D9%85%D8%A7\"><\/span>\n<p>  \u0631\u0641\u0639 \u0645\u0634\u06a9\u0644 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u0645\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f\u060c \u0645\u0634\u06a9\u0644 \u0631\u0627 \u0628\u0627 \u062a\u062e\u0635\u06cc\u0635 \u0645\u062c\u062f\u062f \u0635\u0631\u06cc\u062d\u0627\u064b \u062d\u0644 \u06a9\u0631\u062f\u06cc\u0645 <code>search<\/code> \u062f\u0627\u0631\u0627\u06cc\u06cc:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">search<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">searchParams<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">();<\/span>\n<span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">searchParams<\/span><span class=\"p\">.<\/span><span class=\"nf\">set<\/span><span class=\"p\">(<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">hash<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"nx\">cryptography<\/span><span class=\"p\">.<\/span><span class=\"nf\">createSha256HmacBase64UrlSafe<\/span><span class=\"p\">(<\/span><span class=\"nx\">url<\/span><span class=\"p\">.<\/span><span class=\"nx\">href<\/span><span class=\"p\">,<\/span> <span class=\"nx\">SECRET_KEY<\/span> <span class=\"o\">??<\/span> <span class=\"dl\">\"\"<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062f \u06a9\u0647 \u062a\u0645\u0627\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0642\u0628\u0644 \u0627\u0632 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u062f\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f <code>hash<\/code> \u0627\u0631\u0632\u0634<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs_querystring_%D9%85%D8%A7%DA%98%D9%88%D9%84\"><\/span>\n<p>  Node.js <code>querystring<\/code> \u0645\u0627\u0698\u0648\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WHATWG <code>URLSearchParams<\/code> \u0631\u0627\u0628\u0637 \u0648 <code>querystring<\/code> \u0645\u0627\u0698\u0648\u0644 \u06cc\u06a9 \u0647\u062f\u0641 \u0645\u0634\u0627\u0628\u0647 \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0647\u062f\u0641 \u0627\u0632 <code>querystring<\/code> \u0645\u0627\u0698\u0648\u0644 \u06a9\u0644\u06cc \u062a\u0631 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0627\u0632\u06cc \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u062c\u062f\u0627\u06a9\u0646\u0646\u062f\u0647 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f (<code>&amp;<\/code> \u0648 <code>=<\/code>). \u0627\u0632 \u0633\u0648\u06cc \u062f\u06cc\u06af\u0631\u060c <code>URLSearchParams<\/code> API \u0635\u0631\u0641\u0627\u064b \u0628\u0631\u0627\u06cc \u0631\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648\u06cc URL \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><code>querystring<\/code>  \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 <code>URLSearchParams<\/code> \u0627\u0645\u0627 \u06cc\u06a9 API \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0646\u06cc\u0633\u062a. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>URLSearchParams<\/code> \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u062d\u06cc\u0627\u062a\u06cc \u0646\u06cc\u0633\u062a \u06cc\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0628\u0627 \u06a9\u062f \u0645\u0631\u0648\u0631\u06af\u0631 \u0645\u0637\u0644\u0648\u0628 \u0627\u0633\u062a.<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 <code>URLSearchParams<\/code> \u0628\u0631 \u062e\u0644\u0627\u0641 <code>querystring<\/code> \u0645\u0627\u0698\u0648\u0644\u060c \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062a\u06a9\u0631\u0627\u0631\u06cc \u062f\u0631 \u0642\u0627\u0644\u0628 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0645\u062c\u0627\u0632 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f <code>array.toString()<\/code>\u060c \u06a9\u0647 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u062a\u0645\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0628\u0627 \u06a9\u0627\u0645\u0627 \u0628\u0647 \u0647\u0645 \u0645\u06cc \u067e\u06cc\u0648\u0646\u062f\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">params<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">URLSearchParams<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">user<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">abc<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">query<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">'<\/span><span class=\"s1\">first<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">second<\/span><span class=\"dl\">'<\/span><span class=\"p\">],<\/span>\n<span class=\"p\">});<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">getAll<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">query<\/span><span class=\"dl\">'<\/span><span class=\"p\">));<\/span>\n<span class=\"c1\">\/\/ Prints [ 'first,second' ]<\/span>\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">params<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">());<\/span>\n<span class=\"c1\">\/\/ Prints 'user=abc&amp;query=first%2Csecond'<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 <code>querystring<\/code> \u0645\u0627\u0698\u0648\u0644\u060c \u0631\u0634\u062a\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 <code>'foo=bar&amp;abc=xyz&amp;abc=123'<\/code> \u062a\u062c\u0632\u06cc\u0647 \u0645\u06cc \u0634\u0648\u062f \u0628\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight typescript\"><code><span class=\"p\">{<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">foo<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">bar<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">abc<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">xyz<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">123<\/span><span class=\"dl\">\"<\/span><span class=\"p\">]<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%BA%D8%B0%D8%A7%DB%8C_%D8%A2%D9%85%D8%A7%D8%AF%D9%87\"><\/span>\n<p>  \u063a\u0630\u0627\u06cc \u0622\u0645\u0627\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>\n<p>\u0628\u0627\u0634\u062f <strong>\u0645\u062d\u062a\u0627\u0637 \u0627\u0632 \u0686\u06af\u0648\u0646\u06af\u06cc<\/strong> <code>URLSearchParams<\/code>  \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u062e\u0627\u0635 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc \u06a9\u0646\u062f (\u0645\u062b\u0644\u0627 <code>~<\/code>) \u0648 \u0641\u0636\u0627\u0647\u0627. \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>encodeURIComponent<\/code> \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645<\/p>\n<\/li>\n<li>\n<p><strong>\u062a\u0641\u0627\u0648\u062a \u0628\u06cc\u0646 \u0631\u0627 \u062f\u0631\u06a9 \u06a9\u0646\u06cc\u062f<\/strong> <code>URL.search<\/code>\u060c <code>URLSearchParams.get<\/code>\u060c \u0648 <code>URLSearchParams.toString<\/code> \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0631\u0641\u062a\u0627\u0631 \u063a\u06cc\u0631 \u0645\u0646\u062a\u0638\u0631\u0647<\/p>\n<\/li>\n<li>\n<p><strong>\u062f\u0631 Node.js \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong> <code>querystring<\/code> <strong>\u0645\u0627\u0698\u0648\u0644 \u0627\u06af\u0631<\/strong> \u0634\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u062a\u06a9\u0631\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u062a\u062c\u0632\u06cc\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<\/ol><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0628\u0627 \u06cc\u06a9 \u0627\u0634\u06a9\u0627\u0644 \u0634\u0631\u0648\u0639 \u0634\u062f \u06a9\u0627\u0631 \u0628\u0627 URL \u0647\u0627 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 Node.js \u0628\u0627\u06cc\u062f \u0633\u0627\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u06cc\u06a9 \u0628\u0627\u06af \u0627\u062e\u06cc\u0631 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u0627 \u0628\u0627\u0639\u062b \u0634\u062f \u062a\u0627 \u0645\u0646 \u0628\u0647 \u06cc\u06a9 \u0633\u0648\u0631\u0627\u062e \u062e\u0631\u06af\u0648\u0634\u06cc \u0627\u0632 \u0627\u0628\u0647\u0627\u0645\u0627\u062a \u0638\u0631\u06cc\u0641 \u062f\u0633\u062a \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0645. URL \u0648 URLSearchParams API \u0647\u0627 \u0627\u06cc\u0646 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":84983,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-84982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/84982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=84982"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/84982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/84983"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=84982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=84982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=84982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}