2014-05-12 3 views
0

각도의 $ http 서비스가 '.'코드를 디코딩하는 것 같습니다. 캐릭터? 이 코드를 실행하면 :

var arg = test.param; 
var result = arg.replace(/\./g, '%2E'); 
return $http.get('/api/test/get/' + result; 

은 내가 2Eparam

/API/테스트/테스트 %에 요청

가되어 있었다 원하는 것을 을 /api/test/test.param하는 HTTP 요청을 볼 수 있습니다 디자인별로? 주위에 방법이 있습니까?

+0

그들은 동등해야하므로 주위를 둘러 보려는 경우 대신 API를 수정해야합니다. – Ryan

+1

http://www.ietf.org/rfc/rfc1738.txt rfc1738에 따르면 URL 체계에서 특별한 의미가 있고 ";", "/", "?"등의 문자가 인코딩 된 경우 문자가 인코딩 될 수 있습니다. ":", "@", "="및 "&"는 체계 내에서 특별한 의미를 위해 예약 될 수있는 문자입니다. 스키마 내에서 다른 문자를 예약 할 수 없습니다. –

+0

감사합니다. API를 변경하는 방법을 살펴 보겠습니다. – nixon

답변

0

예, 이것은 의도적으로 설계된 동작입니다. 윌 파머 위의 코멘트에서 지적 하듯이 : ietf.org/rfc/rfc1738.txt RFC1738에 따르면

, 문자 그들이 URL 체계 내에서 특별한 의미를 갖는 경우 인코딩 수 및 문자가 "수 ","/ ","? ",": ","@ ","= "및"& "은 스키마 내에서 특별한 의미로 예약 될 수있는 문자 입니다. 스키마 내에 다른 문자는 예약되어 있지 않을 수 있습니다.

감사합니다.

관련 문제