Frage

Ich habe eine absolute URL in meinem JavaScript gehen, dass ich hart für window.location codiert haben.

Ich will nicht diese jedes Mal ändern müssen, ich meine app bin zu testen. In PHP würde ich dies _SERVER durch Testen der $ betastet haben [ „HTTP_HOST“] Variable, um herauszufinden, was Server Ich bin auf, und entsprechend anpassen. Aber ich bin nicht so vertraut mit Java und frage mich, ob es ein ähnliches Verfahren hat? Oder wenn vielleicht sogar JavaScript hat eine ähnliche Methode?

Der Code lautet wie folgt:

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

Was würde Ich mag zu tun ist:

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 würde ich dies gerade getan haben:

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

Irgendwelche Ideen? Ich glaube, ich bin unter der Annahme aus, dass Sie eine absolute URL zu tun haben, um die Position des aktuellen Fensters in JavaScript zu ändern. Wenn es eine andere Möglichkeit ist es, die Fensterposition in JavaScript ohne absolute URL zu ändern, wenden Sie sich bitte, dass auch anbieten zu können.

Vielen Dank im Voraus ...

War es hilfreich?

Lösung

Was Sie brauchen, ist:

request.getServerName()

Ein Beispiel:

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

Andere Tipps

Die Lage Objekt hat mehrere Eigenschaften , und diejenige, die Sie wünschen würde, ist, Hostnamen .

Sie können aber optional nur eine Root-relative URL verwenden und nur die Pfadnamen rel="nofollow Eigenschaft und nicht Chaos mit dem Host-Geschäft überhaupt nicht!

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

Javascript:

var server = window.location.hostname;

Sie sollten wirklich suchen für diese haben aber in JSP es ist:

request.getRemoteHost()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top