说我正在开发一个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