【问题标题】:Relative URLs for POSTS with Javascript/Jquery - concise带有 Javascript/Jquery 的 POSTS 的相对 URL - 简洁
【发布时间】:2013-10-16 13:31:40
【问题描述】:

我有一个带有一些 jQuery 驱动界面的 c# MVC 项目。一些操作是使用 $.post() 执行的。 有时,站点会部署到域的根目录(例如 www.mydomain.com),有时会部署在文件夹中(例如 www.mydomain.com/Super)。

我想相对于用户正在访问的视图的位置向控制器发布帖子。但是,用户可以访问带有和不带有结尾 / 的视图,因此我需要满足这两种情况以避免对 www.mydomain.com/Super//somecontroller 的奇怪请求。

目前,我有一个执行以下操作的函数:

 function getlocation() {
        var loc = "";
        if (location.pathname != "/") {
            loc = (window.location.href.match("/$")) ? window.location.href : window.location.href + "/";
        }
        return loc;
    }

最终,这对我来说看起来很丑陋。此外,每次我想在解析数据时发帖或插入相对 URL 时,我都必须在有助于标记汤的实际 URL 之前插入该函数的结果。

解决这个问题的最佳方法是什么?

【问题讨论】:

    标签: javascript http url relative-path


    【解决方案1】:

    我觉得你的代码并不难看,但是你可以看看 Backbone.js 代码:

    url: function() {
      var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();
      if (this.isNew()) return base;
    
      return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id);
    },
    

    【讨论】:

      【解决方案2】:

      这是我没有正确提出问题的情况。 我遇到的问题最好使用 UrlHelper 中的Url.Action() 方法解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-10
        • 1970-01-01
        • 2016-09-02
        • 2012-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多