문제

window.location에 대해 하드 코딩한 JavaScript의 절대 URL을 사용했습니다.

나는 앱을 테스트할 때마다 이것을 변경하고 싶지 않습니다.PHP에서는 $_SERVER["HTTP_HOST"] 변수를 테스트하여 현재 어떤 서버에 있는지 알아내고 그에 따라 조정하여 이 문제를 처리했을 것입니다.그런데 저는 Java에 익숙하지 않아서 비슷한 방법이 있는지 궁금합니다.아니면 JavaScript에도 비슷한 방법이 있다면 어떨까요?

코드는 다음과 같습니다:

var url = "http://172.17.1.107/store/results/index.jsp";
window.location = url;

내가 하고 싶은 것은:

var server = [something that returns just 172.17.1.107 (with or without the http:// is fine)]
var url = "http://" + server + "/store/results/index.jsp";
window.location = url;

PHP에서는 다음과 같이 했을 것입니다:

var server = <?= $_SERVER["HTTP_HOST"] ?>
var url = "http://" + server + "/store/results/index.php";
window.location = url;

어떤 아이디어가 있나요?JavaScript에서 현재 창의 위치를 ​​변경하려면 절대 URL을 수행해야 한다는 가정하에 작업하고 있다고 가정합니다.절대 URL 없이 JavaScript에서 창 위치를 변경할 수 있는 다른 방법이 있다면 그 방법도 알려주시기 바랍니다.

미리 감사드립니다...

도움이 되었습니까?

해결책

당신에게 필요한 것은:

request.getServerName()

예:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

다른 팁

위치 객체 여러 가지 속성을 가지고 있습니다, 그리고 당신이 원하는 것은 호스트 이름.

또는 선택적으로 루트 상대 URL을 사용하고 경로명 재산을 관리하고 호스트 사업을 전혀 망치지 마세요!

location.pathname = "/store/results/index.jsp";

자바스크립트:

var server = window.location.hostname;

실제로 이것을 검색해야 하지만 JSP에서는 다음과 같습니다.

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