2013-12-10 4 views
0

decodeURIComponent가 faling 인 이미지 URL이 있습니다. 나는 이스케이프 (unescape)도 시도했지만 여전히 운이 없다. 여기서 JQuery를 사용할 수 없습니다. 이 문제를 해결하기 위해 일반 JS를 사용하는 솔루션이 필요합니다.decodeURIComponent가 이스케이프 처리없이 작동하지 않습니다.

실제 코드는 제공하지 않았지만 여기에는 인코딩되고 디코딩 될 URL이있는 코드 스 니펫이 있습니다.

URL 인코딩 기능은 정상적으로 작동하지만 디코드 기능이 실패합니다.

<!DOCTYPE html> 
<html> 
<body> 

<p id="demo">Click the button to encode and decode a URI.</p> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() 
{ 
var uri = "http://lp.imageg.net/prod?set=key[initials],value[ABC]&set=key[color],value[blind stamp]&set=key[displaysize],value[64%]&load=url[http://chains.imageg.net/graphics/dynamic/chains/TUMI_TAG1.chain]"; 
var uri_enc = "Encoded URI: " + encodeURIComponent(uri); 
alert(uri_enc); 
var uri_dec = "Decoded URI: " + decodeURIComponent(unescape(uri)); 
var uri_dec = "Decoded URI: " + decodeURIComponent(uri); 
alert(uri_dec); 
var res = uri_enc + "<br>" + uri_dec; 
document.getElementById("demo").innerHTML=res; 

} 
</script> 

</body> 
</html> 
+0

당신이'에 encodeURI (URI)'을 찾으시는 ... 여기으로 업데이트 코드 ... 잘못을하고 있었습니까? http://stackoverflow.com/questions/75980/best-practice-escape-or-encodeuri-encodeuricomponent –

+0

'uri'에 인코딩 된 문자열을 디코딩하려고합니다. uri_enc가 아닌'uri_enc'을 해독하십시오. –

답변

1

당신은

Demo Fiddle

<!DOCTYPE html> 
    <html> 
    <body> 
    <p id="demo">Click the button to encode and decode a URI.</p> 
    <button onclick="myFunction()">Try it</button> 
    <script> 
     function myFunction() { 
      var uri = "http://lp.imageg.net/prod?set=key[initials],value[ABC]&set=key[color],value[blind stamp]&set=key[displaysize],value[64%]&load=url[http://chains.imageg.net/graphics/dynamic/chains/TUMI_TAG1.chain]"; 
      var uri_enc = "Encoded URI: " + encodeURIComponent(uri).replace(/'/g, "%27").replace(/"/g, "%22"); 
      alert(uri_enc); 
      var uri_dec = "Decoded URI: " + decodeURIComponent(uri_enc.replace(/\+/g, " ")); 
      alert(uri_dec); 
      var res = uri_enc + "<br>" + uri_dec; 
      document.getElementById("demo").innerHTML = res; 

     } 
    </script> 
</body> 
    </html> 
관련 문제