清晰的方式将MVC网址提供给javascript库?

时间:2015-10-19 02:27:47

标签: javascript asp.net-mvc

我有一个我编写的javascript库,我希望能够使用类似于bootstrap的库的方式。也就是说,我想从页面中元素的数据属性中驱动它们。

问题是这个库需要知道我们站点的特定部分的URL(执行实用程序功能的服务器api)。我们的网站有多个实例部署了各种不同的配置,因此绝对网址,亲属和~/都不适合这种情况。

我目前提供此链接的唯一方法是将其作为数据属性放在使用js的元素上,或者放在脚本标记中。前者很乱,后者很烦人,因为如果你引用脚本/包,我希望这个库能正常工作。

我的问题是,是否有另一种方法可以为js提供一个mvc生成的url,它比上面提到的替代方案更清晰,更优化更集中?

2 个答案:

答案 0 :(得分:0)

我想你可以试试这个

  1. 加载你的js lib
  2. 在js库的初始化阶段调用默认端点(可能是web api)。或者当你的项目是build时,创建包含所有url的json文件,并从脚本加载这个json文件。我认为这取决于你是否需要动态生成这些网址。
  3. 你的web api会返回一个json对象,其中包含你需要的所有url。
  4. 然后

    1. 您不需要弄乱数据注释
    2. 您不需要使用脚本标记。
    3. 您可以集中存储所有网址。

答案 1 :(得分:0)

您可以使用以下网址获取网站的基本网址

window.location.protocol + "//" + window.location.host + "/"