2013-10-30 6 views
0

form을 사용하여 encodeURI의이 동작을 발견했습니다. encodeURI을 사용하여 URL을 인코딩했습니다.'encodeURIComponent`를 사용하는 URL 인코딩이 양식 작업에서 작동하지 않습니다.

<html> 
<head> 
</head> 
<body> 
<form id="form"> 
</form> 
<button id="button">Click Me to submit form</button> 
</body> 
<script> 
    var button = document.getElementById("button"); 
    button.onclick = function() { 
     var form = document.getElementById("form"); 
     var url = "b.html?name=" + encodeURIComponent("First Name"); 
     form.action = url; 
     form.method = "post"; 
     form.submit(); 
    } 
</script> 
</html> 

양식을 제출할 때 브라우저 주소창에 예상 한 내용이 표시되지 않습니다.

b.html?name=First Name 

누군가가 이런 일이 왜 말해 주실 래요 - 내가가 가지고 무엇

b.html?name=First%20Name 

를 기다리고 있었다?

참고 - 난 단지 파이어 폭스에서이 문제를 (I 버전 24.0을 사용하고 있습니다)에 직면하고있다. 크롬에서는 예상대로 작동합니다. 이 사용자에 대해 쉽게 읽을 수 있도록

감사

답변

2

파이어 폭스는 URL 표시 줄에 URL의 디코딩 된 버전을 표시합니다. 여전히 인코딩 된 문자열을 서버로 보냅니다.

또한 URL 표시 줄의 내용을 복사하여 텍스트 편집기에 붙여 넣으면 인코딩 된 문자가 포함됩니다.

+0

정말 고마워요. 더 자세한 정보를 얻을 수있는 참조 링크가 있습니까? –

+0

@MoazzamKhan 그것에 대해 많이 알지 못합니다. Firefox는 다른 브라우저와 마찬가지로 작동하며 URL 표시 줄에 특수 문자가 표시됩니다. – Butt4cak3

관련 문제