JSP或JavaScript等同于PHP的$ _ SERVER [“HTTP_HOST”]?
-
13-09-2019 - |
题
我必须继续我的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()
不隶属于 StackOverflow