문제

내 java 서버는 다음과 같습니다.

http://locahost:5555/?search="java"

위 링크를 잘 작동합니다.그러나 이제까지 사용하려면"#"의 일부로 문자열 검색,그것은 모두가 잘못입니다.예를 들어:

http://locahost:5555/?search="c#"

어떤 이유로든 후"#"무시됩니다.내가 사용하는 경우 디코딩된 버전의"#"됩니다.예를 들어:

http://locahost:5555/?search="c%23"

시스템에 의해 사용되어야 하지 않는 사람들이 이해하는 url 을 인코딩을 그래서 그들은 절대 넣%23 일 대신#.어쨌든 주요?

도움이 되었습니까?

해결책

사용자는 URL에 "C #"을 넣으면 URL에 직접 액세스해서는 안됩니다. 반면에 프로세스가 없으면

를 사용할 수 있습니다.
<form action="yourcontroller" method="post">

   <input type="text" name="txtSearch" />

   <input type="submit" value="search"/>

</form> 
.

이에 따라 언급 한 "#"과 같은 특수 문자를 처리합니다.

컨트롤러에서 매개 변수를 잡는 것을 잊지 마십시오

request.getParamter("txtSearch");
.

다른 팁

다른 인코딩하는 방법은 없습니다.더 이상 문자열 # 취급으로 location 의 URL 이 있습니다.

문자열 # 이 전달되지 않습을 통해 서버를 얻을 매개 변수입니다.사용 POST method instead.

https://developer.mozilla.org/en-US/docs/Web/API/Window.location

브라우저에 있습니다.서버는 해시 태그 (#) 기호로 요청을받지 않습니다.

자바 스크립트 해결 방법은 아마도 나쁜 아이디어 일 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top