JSP или JavaScript, эквивалентный PHP $_SERVER[“HTTP_HOST”]?
-
13-09-2019 - |
Вопрос
В моем JavaScript я использую абсолютный URL-адрес, который жестко запрограммирован для window.location.
Я не хочу менять это каждый раз, когда тестирую свое приложение.В 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;
Есть идеи?Полагаю, я действую исходя из предположения, что вам нужно указать абсолютный URL-адрес, чтобы изменить местоположение текущего окна в JavaScript.Если есть другой способ изменить расположение окна в JavaScript без абсолютного URL-адреса, пожалуйста, предложите и его.
Заранее спасибо...
Решение
Что вам нужно:
request.getServerName()
Пример:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
Другие советы
Объект местоположения имеет несколько свойств, и тот, который вам нужен, это имя хоста.
Или вы можете просто использовать URL-адрес относительно корня и просто установить путь собственность и вообще не связываться с принимающим бизнесом!
location.pathname = "/store/results/index.jsp";
Javascript:
var server = window.location.hostname;
Вам действительно следует поискать это, но в JSP это:
request.getRemoteHost()