Angular.js: encodeUriSegment рд╕рдВрд╕рд╛рдзрди рдореЗрдВ encodes params, рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рд╕рд┐рддре░ 2012  ┬╖  55рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/angular.js

рдПрдХ $resource рд╣реЛрдиреЗ рдФрд░ url рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ param рднреЗрдЬрддреЗ рд╕рдордп, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рдЬреЛ рдЗрд╕реЗ рдПрдиреНрдХреЛрдб рди рдХрд░реЗред рдУрдУрдмреА рдпрд╣ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдкрде") рдкрд░рдо рдХреЗ рдореИрдЪ рд╕реЗ рдкрд╣рд▓реЗ рдпреВрдЖрд░рдПрд▓ рдлрд┐рд░ рд╕реЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

// In SomeResourceName factory:
$resouce('/:path',  { path: 'default.json' }, ...)
// Useing SomeResourceName
SomeResourceName.get({ path: 'game/mygame.json' })

рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк "/game/mygame.json" рдХреЗ рдмрдЬрд╛рдп "/game%2Fmygame.json" url рдкрд░ рдХреЙрд▓ рдЖрдПрдЧреАред

рдПрдХ рддреНрд╡рд░рд┐рдд-рд╕рдорд╛рдзрд╛рди-рд╕рдорд╛рдзрд╛рди рд╣реИ:

// In angular-resource.js and method encodeUriSegment
  function encodeUriSegment(val) {
    return encodeUriQuery(val, true).
      replace(/%26/gi, '&').
      replace(/%3D/gi, '=').
      replace(/%2B/gi, '+'). 
      replace(/%2F/gi, '/'); // <--- Add this line
  }

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЯреВрдЯреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рднреА рд░рд┐рд╕реЛрд░реНрд╕ рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рдПрдХреНрд╢рди рддрд░реНрдХ рдХреЛ рд╣рд╛рдИрдЬреИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд░реВрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдбрд┐рдлреЙрд▓реНрдЯ рддрд░реНрдХ рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХрд┐рдк рдПрдирдХреЛрдб рдлреНрд▓реИрдЧ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

Lots of comments ngResource moderate more info feature

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

@ ibrahim89 , рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдХреЛрдгреАрдп рдФрд░ рдХреЛрдгреАрдп-рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдЕрдкрд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рд░ рдмрдирд╛рдпрд╛ :) https://gist.github.com/3749345

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЦреЛрдЬ рд╡рд┐рдзрд┐рдпрд╛рдБ рдкрде рдкреИрд░рд╛ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдореВрд▓ CRUD рдСрдкреНрд╕ рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВред

+1ред рд╣рдорд╛рд░реЗ рдЖрдИрдбреА рдореЗрдВ рд╕реНрд▓реИрд╢ рд╣реЛрддреЗ рд╣реИрдВ (рд╣рдо рд░реЗрд╡реЗрдирдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдЕрдЧрд░ рдпрд╣ рдПрдиреНрдХреЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдпрд╣ рдПрдХ рд╕рд╛рдл рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛

рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдирд╛ рдареАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред

рдпреВрдЖрд░рдЖрдИ рдХреЛ рдПрдиреНрдХреЛрдб рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЕрдм "рд╕рд╛рдл" рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рдпрд╛ рдЕрдЧрд▓реЗ рдЬреАрд╡рди рдореЗрдВ рдЧрдзреЗ рдореЗрдВ рдХрд╛рдЯреЗрдЧрд╛ред

рдЕрдЧрд░ рдореИрдВ http://www.ietf.org/rfc/rfc3986.txt рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рд╣рдореЗрдВ рдЦрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдирдПрдиреНрдХреЛрдбреЗрдб рд╕реНрд▓реИрд╢ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

3.5. рдЯреБрдХрдбрд╝рд╛

рдпреВрдЖрд░рдЖрдИ рдХрд╛ рдЦрдВрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдШрдЯрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ . рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдкреНрд░рд╛рдердорд┐рдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рджреНрд╡рд┐рддреАрдпрдХ рд╕рдВрд╕рд╛рдзрди рдХреА рдкрд╣рдЪрд╛рди
рд╕рдВрд╕рд╛рдзрди рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╣рдЪрд╛рди рдЬрд╛рдирдХрд╛рд░реАред рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛
рджреНрд╡рд┐рддреАрдпрдХ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛ рдХреБрдЫ рднрд╛рдЧ рдпрд╛ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╕рдВрд╕рд╛рдзрди, рдкреНрд░рд╛рдердорд┐рдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рдХреБрдЫ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдпрд╛
рдЙрди рдЕрднреНрдпрд╛рд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ рд╡рд░реНрдгрд┐рдд рдХреБрдЫ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиред рдП
рдЦрдВрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдШрдЯрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ a
рд╕рдВрдЦреНрдпрд╛ рдЪрд┐рд╣реНрди ("#") рд╡рд░реНрдг рдФрд░ рдпреВрдЖрд░рдЖрдИ рдХреЗ рдЕрдВрдд рддрдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред

 fragment    = *( pchar / "/" / "?" )

...
рд╡рд░реНрдг рд╕реНрд▓реИрд╢ ("/") рдФрд░ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди ("?") рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ
рдЦрдВрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХрд┐ рдХреБрдЫ
рдкреБрд░рд╛рдиреЗ, рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрдм рдЗрд╕реЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдпреВрдЖрд░рдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдиреБрднрд╛рдЧ
5.1)ред

рдХреЗрд╕ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ: $location.hash('/secondary-resource')

рдореИрдВ рдмрд╕ рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреИрд░рд╛ рдХреЛ рдбрдмрд▓-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рддрдм рдЗрд╕реЗ рдФрд░ рднреА рдЦрд░рд╛рдм рдХрд░ рджреЗрддрд╛ рд╣реИред рдмрд╕ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рднрд▓реЗ рд╣реА рдпрд╣ рд╡реНрдпрд░реНрде рд▓рдЧрд╛!

'/', '%252F' -> %25252F

рднреА,

/ %2f --> %252F
'/', '//' ->% 2F% 2F

рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдиреБрд░реЛрдз рдЕрднреА рднреА рдЦрдбрд╝рд╛ рд╣реИред

рдЗрд╕ рдореЗрдВ рдЖрдЬ рднрд╛рдЧ рдЧрдпрд╛ред +1
рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рдЖрдИрдбреА рдореЗрдВ рд╕реНрд▓реИрд╢ рднреА рд╣реИрдВред рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

+1

+1

+1

+1

+1

+1

рдореИрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ (рд░реЗрд╡реЗрдирдбреАрдмреА) рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдПрдХ рдордзреНрдпрд╕реНрде рд╕рд░реНрд╡рд░ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдиреНрдХреЛрдбреЗрдб рдШрдЯрдХреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреИрдХрдПрдВрдб рдкрд░ рд╕рд╣реА рдЖрдИрдбреА рдкрд░ рдбреАрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЕрдзрд┐рдХ рдареЛрд╕ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдордЬрдмреВрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд░рд╣реА рд╣реИ (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд░рд╛рд╡реЗрдирдбреАрдмреА рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИ)?

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

рдореИрдВ рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА/рд╣рд╛рдЗрдкрд░рдореАрдбрд┐рдпрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП $ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рди рдХрд┐ рд░реЗрд╡реЗрдирдбреАрдмреА (рдпрд╛ $ рд╕рдВрд╕рд╛рдзрди)ред рдореБрдЭреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдПрдХ рдкреИрдЪ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред

рдореИрдВ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд░рдПрдлрд╕реА рдХрд╛ рднреА рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ - рдКрдкрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ

рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рдХрдареЛрд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ - рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдмрд╣реБрдд рдмрдбрд╝реА рдорд╛рдлрд╝реА - рдПрд▓ 332 рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рджреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ 1071 рдореЗрдВ рдХреЛрдгреАрдп рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рдореБрдЭреЗ рдХреЗрд╡рд▓ рдХреЛрдгреАрдп рдореЗрдВ рдПрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ $ рд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ;-) (рд╣рд╛рдВ, рдореБрдЭреЗ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИрдВ)ред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЧрд▓рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИ рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

+1
рдлреЙрд░рд╡рд░реНрдб рд╕реНрд▓реИрд╢ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдпреВрдЖрд░рдПрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХрд╛рдордХрд╛рдЬ рд╣реИ?

рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреИрдЪ рд▓рд╛рдЗрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХрд╛ рднреА рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рджрд░реНрдж рд╣реИред

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

рд╕реБрдиреЛ,

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ encodeUirSegment рд╡рд┐рдзрд┐ рдХрд╣рд╛рдБ рд░рдЦрдиреА рд╣реИ рдпрд╛ рдореИрдВ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрд╣рд╛рдБ рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдБ? :/

рдореИрдВ рдпреВрдЖрд░рдПрд▓ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ HTTP рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рддрдм рддрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рддрдХ рдореИрдВрдиреЗ IE11 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ред IE11 рдореЗрдВ % рд╕рд╣рд┐рдд URL рдХреЗ рд▓рд┐рдП XHR рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдХреЛрдгреАрдп рд╡рд┐рд░рд╛рдоред рдЖрдИрдИ 10 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдХреЛрдгреАрдп рдХреЛ IE9+ ( рд╕рдВрджрд░реНрдн ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдорд╛рди рд▓реАрдЬрд┐рдП рдореИрдВ рд╕рдВрд╢реЛрдзрд┐рдд ngResource рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ ..

@connorbode --- рдпрд╛рд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЗ рдореБрджреНрджреЗ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рдЕрд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рд▓рд┐рдЦреЗрдВ =) рдЗрд╕ рдкрде рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рджреЛ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВ, рдпрд╛ рддреЛ рдЗрд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдЖрдк рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ред

рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдпрд╣ рдХреМрди рд╕рд╛ рд╣реИ!

+1

+1

+1

CouchDB рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди-рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ (_design/cafehub/_view/menu_items) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрдЬрд╛рдп рдореЗрд░реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ +1 рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕реЗ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред https://github.com/angular/angular.js/pull/7940

+1
рдХреБрдЫ рд╡рд┐рд░рд╛рд╕рддреА рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ URLdecode рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ

+1

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

+1

+1

+1

+1

@toddb рд╕рд┐рд░реНрдл FYI рдХрд░реЗрдВ, рдЖрдкрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджреНрдзрд░рдг URL рдХреЗ рдЦрдВрдб рднрд╛рдЧ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд #foo/bar рднрд╛рдЧ, рдЬрд╣рд╛рдВ рд╕реНрд▓реИрд╢ рд╕реЗ рдмрдЪрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдпрд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрдЧ рдпреВрдЖрд░рдПрд▓ рдХреЗ рдореБрдЦреНрдп рдкрде рднрд╛рдЧ рдореЗрдВ рдПрдХ рд╕реНрд▓реИрд╢ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрд░рдПрдлрд╕реА рдЗрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдПрдВрдЧреБрд▓рд░ рдХреА $ рд╕рдВрд╕рд╛рдзрди рд╕реЗрд╡рд╛ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдФрд░ рдпреВрдЖрд░рдПрд▓ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд░рдПрдлрд╕реА рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдирд┐рдпрдорд┐рдд :param рд╢реИрд▓реА рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕реНрд▓реИрд╢ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрдЯрд░реНрди рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ /x/:param рд╣реИ, рдФрд░ рдЖрдк /x/y/z рдХреЗ рд▓рд┐рдП {param: 'y/z'} рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдореА /x/y/z URL рдкреИрдЯрд░реНрди рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдИрдПрдордПрдЪрдУ рд╕реНрд▓реИрд╢ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдЯрд╛рд░ рдкреИрдЯрд░реНрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдкреИрдЯрд░реНрди рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд░рдЦрдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "/:param1/:param2/*pathParam" , рдЬрд╣рд╛рдВ *pathParam рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рд╕реНрд▓реИрд╢ рдЦрд╛рдПрдЧрд╛ред * рдкреИрд░рд╛рдореНрд╕ рдХреЗ рд▓рд┐рдП, рд╕реНрд▓реИрд╢ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

@mprobst - рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдмрдЧ рд▓реЙрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреЛрдб рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ _also_ рдЦрдВрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ $resource рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдмрд▓реНрдХрд┐ $location рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдореЗрд░реА рдпрд╛рджрджрд╛рд╢реНрдд рдореЗрд░реА рд╕реЗрд╡рд╛ рдХрд░рддреА рд╣реИ рддреЛ рдпреВрд░реА рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛрдб рдХреЗ рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред

рдПрдХ рддреНрд╡рд░рд┐рдд рд░реАрдб рд╕реЗ @connorbode рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреИрдЪ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ред рдЪрд┐рдпрд░реНрд╕

+1

+1

+1

+1

+1

+1

+1

+1

рдЖрдк рдЙрд╕реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ ui- рд░рд╛рдЙрдЯрд░ рд▓рд┐рдм рдореЗрдВ:
http://angular-ui.github.io/ui-router/site/#/api/ui.router.util.type :UrlMatcher

+1

рдпрд╣ рд╕реНрдерд╛рди рдореЗрдВ рднреА рд╣реЛрддрд╛ рд╣реИ

:+1:

+1

рдмреИрдХрдПрдВрдб рдкрд░ рдЕрдкрдирд╛ рдореВрд▓ рдпреВрдЖрд░рдПрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдбреАрдХреЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

.factory('decodeUriSegment', () => {
    return (url) => {
      return url.replace(/@/g, '%40')
        .replace(/:/g, '%3A')
        .replace(/\$/g, '%24')
        .replace(/,/g, '%2C')
        .replace(/\+/g, '%20');
    };
  });

+1

+1

app.config(function($resourceProvider) {
    $resourceProvider.defaults.stripTrailingSlashes = false;
});

https://github.com/angular/angular.js/pull/5560

+1

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ angularjs $resource service . рдореЗрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ
рддреНрд░реБрдЯрд┐: encodeUriSegment рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ

@ ibrahim89 , рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдХреЛрдгреАрдп рдФрд░ рдХреЛрдгреАрдп-рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

@gkalpak , рдзрдиреНрдпрд╡рд╛рдж !!

рдореЗрд░реА рддреНрд░реБрдЯрд┐ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

landed1 picture landed1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brijesh1ec picture brijesh1ec  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kishanmundha picture kishanmundha  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ashclarke picture ashclarke  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cmplank picture cmplank  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ