在javascript中从应用程序根目录中获取路径

时间:2010-09-07 04:51:29

标签: javascript asp.net jquery

function detailed_link(cell_rowid) {
        var $tabs = $('#infrTab').tabs();
        $tabs.tabs('select', 1); // switch to third tab~
        objRowData = $('#' + pageGridId).getRowData(cell_rowid);
        //document.getElementById("Name").value = objRowData.amount;

        loadPage('Infringement/TaskDetail', 'taskDetails'); /* Path */
    }

我编写了一个javascript函数loadPage(),它需要一个路径作为参数。我需要从应用程序根目录中提供此路径。我不想要相对路径。请让我知道我该怎么做。

4 个答案:

答案 0 :(得分:6)

我在我的Site.master中有这个Javascript,就在jquery导入下面,在我自己脚本的任何引用之上。

 <script type="text/javascript">
        //Function that provides a relative URL for cases of virtual directories.
        jQuery.url = function (path) {
            return '<%: Url.Action("Index","Home") %>' + path;
        };
 </script>

这假定你的'/'地址由家庭控制器中的Index方法(标准)处理。

然后您可以通过以下方式访问它:

$.url('Infringement/TaskDetail')

答案 1 :(得分:4)

在这个类似问题的答案中描述了许多不同的方式。

How to extract the hostname portion of a URL in JavaScript

答案 2 :(得分:1)

假设您有一个包含此地址的页面:http://sub.domain.com/page.htm。在页面代码中使用以下内容来获得这些结果:

  • window.location.host:您将获得sub.domain.com:8080sub.domain.com:80
  • window.location.hostname:您将获得sub.domain.com
  • window.location.protocol:您将获得http:
  • window.location.port:您将获得808080
  • window.location.origin:您将获得http://sub.domain.com

答案 3 :(得分:1)

我建议使用相对路径,因为你永远不知道应用程序root的位置。如果您的应用程序将与IIS中的其他应用程序一起安装,那么其根目录可以是http://www.domain.com/iis/youapp/pages/one.aspx