說我正在開發一個website.com。我需要動態獲取根(website.com)(用於開發和生產)。有沒有辦法做到這一點在JS?在Javascript中獲取網站根目錄
我在服務器上使用asp.net mvc 3。
說我正在開發一個website.com。我需要動態獲取根(website.com)(用於開發和生產)。有沒有辦法做到這一點在JS?在Javascript中獲取網站根目錄
我在服務器上使用asp.net mvc 3。
雖然得到它這適用於這個特定的問題(根保證等於主機名),它沒有解決如何指導在其他情況下獲取根URL。 – Sam 2013-12-20 03:30:06
參見:
你可以串連位置協議和主機:How to extract the hostname portion of a URL in JavaScript
從鏈接引用 VAR根= location.protocol +「// '+ location.host; 的URL,讓我們說「https://stackoverflow.com/questions」,它將返回「http://stackoverflow.com」
你改變了你的問題嗎?我以爲你問了一個JS問題,但也許你想要一個asp.net的答案? 對於主機:'Request.Url.Host' – 2011-12-23 21:22:59
你救了我的一天謝謝你:) – 2015-02-18 11:28:40
我創建了一個函數來獲取真正的根:
function root() {
var scripts = document.getElementsByTagName('script'),
script = scripts[scripts.length - 1],
path = script.getAttribute('src').split('/'),
pathname = location.pathname.split('/'),
notSame = false,
same = 0;
for (var i in path) {
if (!notSame) {
if (path[i] == pathname[i]) {
same++;
} else {
notSame = true;
}
}
}
return location.origin + pathname.slice(0, same).join('/');
}
調用這個函數一次當JS文件被加載。
爲了使它工作,你必須將其包含爲js文件。
var basepath = root();
這裏有一些例子:
location.host: 'http://test.com'
location.path: '/myapp/controller/action/id'
這將導致:
http://test.com/myapp
您可以使用Ajax調用從服務器 – Chibuzo 2011-12-23 20:58:46