Вопрос

В моем 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()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top