Pergunta

Eu tenho ir um URL absoluto no meu JavaScript que tenho codificado para window.location.

Eu não quero ter que mudar isso cada vez que eu estou testando meu aplicativo. No PHP eu teria lidado com esta testando a $ _SERVER [ "HTTP_HOST"] variável para descobrir o que servidor que eu estou, e ajustar em conformidade. No entanto, eu não sou tão familiarizado com Java e estou querendo saber se ele tem um método semelhante? Ou se talvez até JavaScript tinha um método semelhante?

O código é a seguinte:

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

O que eu gostaria de fazer é:

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;

No PHP eu teria feito apenas isto:

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

Todas as idéias? Acho que eu estou operando sob a suposição de que você tem que fazer uma URL absoluta para alterar a localização da janela atual em JavaScript. Se houver outra maneira de mudar o local da janela em JavaScript sem uma URL absoluta, não hesite em oferta que bem.

Obrigado antecipadamente ...

Foi útil?

Solução

O que você precisa é:

request.getServerName()

Um exemplo:

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

Outras dicas

O objeto local tem várias propriedades , e aquele que você gostaria é hostname .

Ou, você pode, opcionalmente, apenas usar um URL relativo à raiz e apenas definir o caminho propriedade e não mexer com o negócio de acolhimento a todos!

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

Javascript:

var server = window.location.hostname;

Você realmente deve ter pesquisa para isso, mas em JSP é:

request.getRemoteHost()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top