Jquery-cookie: рдХреБрдХреА рдореВрд▓реНрдпреЛрдВ рдкрд░ encodeURIComponent () рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдЪ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ()

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЬрдире░ 2011  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: carhartl/jquery-cookie

рдХреНрдпрд╛ рдХреБрдХреА рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП encodeURIComponent() рдпрд╣рд╛рдБ рд╕рд╣реА рд╣реИ? рдХреНрдпрд╛ рдпрд╣ "рднрд╛рдЧрдирд╛" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреБрдХреАрдЬрд╝ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдФрд░ рдмрд╛рд╣рд░ рдЖрддреА рд╣реИрдВ, рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдкрдердирд╛рдо рд╡рд╛рд▓реА рдХреБрдХреАрдЬрд╝ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ-рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдХрд┐рд╕реА рдФрд░ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдмрд╕ рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЪрд░реНрдЪрд╛ рдорд┐рд▓рддреА рд╣реИ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛:

рдХреБрдХреАрдЬрд╝ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХреБрдХреА: рдирд╛рдо 1 = рдорд╛рди 1; рдирд╛рдо 2 = рдорд╛рди 2

рдЬрд╛рд╣рд┐рд░ рд╣реИ, value1 рдореЗрдВ a рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ;

рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдкрд╛рддреНрд░ рднреА рд╣реИрдВред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдХрдореА рд╕реЗ рдХреБрдХреАрдЬрд╝ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЛ рдПрдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЪреБрдирдиреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

MDN encodeURIComponent рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

encodeURIComponent / decodeURIComponent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐ escape / unescape рдмрд╣рд┐рд╖реНрдХреГрдд рд╣реИ ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореБрдЭреЗ рдЕрднреА рддрдХ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреБрдХреА рдорд╛рди рд╡рд╛рдкрд╕ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ decodeURIComponent рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ; рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХреБрдХреА рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдерд╛ред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░ рдпрд╛ рдХреБрдЫ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдВрдд рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЖрдк рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП raw рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рд╣реИрдВред рд╢рд╛рдпрдж encodeURI() encodeURIComponent() рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдпрд╣рд╛рдБ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЖрдкрдХрд╛ рдХреЛрдб рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХреБрдХреА рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдФрд░ рдЦрдкрдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реЛред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рдХреБрдХреА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ PHP рдпрд╛ рдЬрд╛рд╡рд╛ рдРрдк рд╕реЗ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕ рдРрдк рдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдХреА рдХреЛ рдПрдиреНрдХреЛрдбреБрд░реАрдХрдВрдкреЛрдиреЗрдВрдЯ() рдХреЗ рд╕рд╛рде рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмреИрдХрдПрдВрдб рдкрд░ urldecoded() рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬрдм рдЖрдк рдХрд┐рд╕реА рдХреБрдХреА рдореЗрдВ рдпреВрдЖрд░рдПрд▓ рдпрд╛ рдпреВрдЖрд░рдЖрдИ рдбрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореИрдВ рдХреБрдХреА рдореЗрдВ "/ foo" рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред EncodeURIComponent() рдореБрдЭреЗ рдЕрдиреБрдкрдпреЛрдЧреА рдкрдердирд╛рдо "%2Ffoo" рджреЗрддрд╛ рд╣реИ рдЬрдмрдХрд┐ encodeURI() рдореБрдЭреЗ "/ foo" рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдХрд┐рд╕реА рднреА рдмреИрдХрдПрдВрдб рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдпрд╛ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд┐рдирд╛ рдХреБрдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдЙрдкрднреЛрдЧ рдпреЛрдЧреНрдп рд╣реИред

рдпрд╣рд╛рдВ рдПрдиреНрдХреЛрдб() рдХрд╛ рд▓рд╛рдн рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдХреБрдХреА рдореВрд▓реНрдп рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╣реИ, рддреЛ рдпрд╣ рдмрдЪ рдирд┐рдХрд▓рд╛ рд╣реИред encodeURI() рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╕реЗ рдирд╣реАрдВ рдмрдЪрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ encodeURI() рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рд░реЙ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред рдпрджрд┐ рдЖрдк encodeURI() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдХрд╛рд░рдг рдореИрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ encodeURI :

encodeURI('foo;bar') == "foo;bar"

рдкрд░рдВрддреБ:

encodeURIComponent('foo;bar') == "foo%3Bbar"

рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

raw рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд╛рддреЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдПрдХ рдЬрд╡рд╛рдм рдХрд╣реАрдВ рдФрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ http://stackoverflow.com/questions/5743119/why-use-encodeuricomponent-when-writing-json-to-a-cookie

рдмрд╕ рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЪрд░реНрдЪрд╛ рдорд┐рд▓рддреА рд╣реИ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛:

рдХреБрдХреАрдЬрд╝ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдХреБрдХреА: рдирд╛рдо 1 = рдорд╛рди 1; рдирд╛рдо 2 = рдорд╛рди 2

рдЬрд╛рд╣рд┐рд░ рд╣реИ, value1 рдореЗрдВ a рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ;

рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдкрд╛рддреНрд░ рднреА рд╣реИрдВред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдХрдореА рд╕реЗ рдХреБрдХреАрдЬрд╝ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЛ рдПрдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЪреБрдирдиреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

MDN encodeURIComponent рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕