Я использую абсолютный URL-адрес в своем JavaScript, который я жестко закодировал для 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+"/"; %>
Объект location имеет несколько свойств , а тот, который вы хотите, – имя хоста .
Или вы можете по желанию просто использовать корневой URL-адрес и просто установить свойство pathname, а не путаться с хостинговой компанией вообще!
location.pathname = "/store/results/index.jsp";
Javascript:
var server = window.location.hostname;
Вы действительно должны искать это, но в JSP это:
request.getRemoteHost()
Может быть, это может помочь.
Он заменит любые слова, которые вы хотите, или ничего. Он также будет работать для вашего запроса.
var str = "Visit Microsoft!"; var res = str.replace("Microsoft", "W3Schools");