我在我的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中当前窗口的位置。如果还有其他方法可以在没有绝对URL的情况下更改JavaScript中的窗口位置,请随时提供。
提前致谢...
答案 0 :(得分:7)
您需要的是:
request.getServerName()
一个例子:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
答案 1 :(得分:4)
位置对象has several properties,以及您想要的位置对象hostname。
或者,您可以选择使用根相对网址,只需设置pathname属性,而不是干扰主机业务!
location.pathname = "/store/results/index.jsp";
答案 2 :(得分:3)
使用Javascript:
var server = window.location.hostname;
答案 3 :(得分:0)
你真的应该搜索这个,但在JSP中它是:
request.getRemoteHost()