0

我有带有一些 jQuery 驱动界面的 ac#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 之前插入该函数的结果。

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

4

2 回答 2

0

我认为您的代码并不难看,但您可以查看 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);
},
于 2013-10-09T09:34:27.960 回答
0

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

于 2013-12-29T04:38:02.310 回答