如何使用jQuery从URL获取Controller名称和操作名称

时间:2015-03-09 16:00:14

标签: javascript jquery model-view-controller

我在我的网站上使用.net MVC,我需要在javascript中获取URL,但只需要控制器和操作名称,例如,如果我有:

http://stackoverflow.com/questions/9513736/current-url-without-parameters-hash-https

我需要:

http://stackoverflow.com/questions/9513736/

我找到了一些解决方案,例如:

urlBase = location.href.substring(0, location.href.lastIndexOf("/")+1)

->http://stackoverflow.com/questions/9513736/

但是如果我的网址没有任何参数,我的动作名称会被切断:

http://stackoverflow.com/questions/

有人有解决方案吗?

2 个答案:

答案 0 :(得分:21)

你可以使用 window.location.pathname 为了这。

对于此问题中的网址,它会返回

"/questions/28946447/how-to-get-only-the-controller-name-and-action-name-from-url-with-jquery"

要正确阅读,您可以使用:window.location.pathname.split("/")
用以下内容读取值:

var url = window.location.pathname.split("/");
var questions = url[1];

答案 1 :(得分:3)

window.location.pathname;

这将从网址返回path。然后使用split获取控制器名称和操作名称

var path=window.location.pathname;
var abc=path.split("/");
var controller=abc[0];
var action=abc[1] || "index";