Pregunta

He ir a una dirección URL absoluta en mi JavaScript que he codificado para window.location.

No quiero tener que cambiar esto cada vez que estoy probando mi aplicación. En PHP que habría manejado esta probando el $ _SERVER [ "HTTP_HOST"] variable para averiguar qué servidor que estoy en, y ajustar en consecuencia. Sin embargo, no estoy tan familiarizado con Java y estoy preguntando si tiene un método similar? O si tal vez incluso JavaScript tenía un método similar?

El código es como sigue:

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

Lo que me gustaría hacer es:

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;

En PHP que habría hecho esto simplemente:

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

¿Alguna idea? Supongo que estoy operando bajo la suposición de que usted tiene que hacer una URL absoluta para cambiar la ubicación de la ventana actual en JavaScript. Si hay otra manera de cambiar la ubicación de la ventana en JavaScript sin una URL absoluta, no dude en ofrecer eso también.

Gracias de antemano ...

¿Fue útil?

Solución

Lo que necesita es:

request.getServerName()

Un ejemplo:

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

Otros consejos

La localización de objetos tiene varias propiedades , y el que te gustaría es nombre de host .

O bien, puede opcionalmente sólo tiene que utilizar una dirección URL relativa a la raíz y acaba de establecer las href="http://www.w3schools.com/HTMLDOM/prop_loc_pathname.asp" propiedad y no meterse con el negocio de acogida a todos!

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

Javascript:

var server = window.location.hostname;

Usted realmente debe tener búsqueda de esto, pero en JSP es:

request.getRemoteHost()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top