JSP or JavaScript equivalent to PHP's $_SERVER

2019-02-09 22:45发布

I've go an absolute URL in my JavaScript that I have hard coded for window.location.

I don't want to have to change this every time I am testing my app. In PHP I would have handled this by testing the $_SERVER["HTTP_HOST"] variable to find out what server I am on, and adjust accordingly. However, I'm not as familiar with Java and am wondering if it has a similar method? Or if maybe even JavaScript had a similar method?

The code is as follows:

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

What I would like to do is:

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;

In PHP I would have just done this:

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

Any ideas? I suppose I'm operating under the assumption that you have to do an absolute URL to change the location of the current window in JavaScript. If there is another way to change the window location in JavaScript without an absolute URL, please feel free to offer that as well.

Thanks in advance...

4条回答
聊天终结者
2楼-- · 2019-02-09 23:20

Javascript:

var server = window.location.hostname;
查看更多
贪生不怕死
3楼-- · 2019-02-09 23:24

What you need is:

request.getServerName()

An example:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
查看更多
手持菜刀,她持情操
4楼-- · 2019-02-09 23:24

The location object has several properties, and the one you'd want is hostname.

Or, you can optionally just use a root-relative URL and just set the pathname property and not mess with the host business at all!

location.pathname = "/store/results/index.jsp";
查看更多
forever°为你锁心
5楼-- · 2019-02-09 23:27

You really should have search for this but in JSP it's :

request.getRemoteHost()
查看更多
登录 后发表回答