Ajax 访问 或 获取 IIS 虚拟目录

使用场景

最近用 .net core mvc 写了一个工具类的项目,作为我们项目的后台管理网站使用。第一次被老大拿去部署的时候被告知不可用,同样的代码在我电脑和我的iis上都可以使用的啊。

后来才知道,原来老大是把这个项目作为某一个项目的应用程序发布上去了,在使用过程中会有一个目录问题。

解决方案一

一开始为了能让项目快速使用,我把虚拟目录写在了我要请求的Ajax路径中。

解决方案二

可以在模板页定义一个环境变量或者全局变量,记录这个虚拟目录的值,然后访问的时候以变量的方式拼接到Ajax的路径上。

解决方案三

上面的两种方式都是把虚拟目录写死在网页里说js里,这样的操作很不好。

忽然想到模板页引用的js和css路径也都是相对路径为什么没有问题呢?

试了一下,得到的结果是,在Ajax的路径前面加 ../ (这样适用于只有一层虚拟目录的情况),如果有a标签的跳转就在路径前面加 ~/

这样一来,网站以应用程序方式发布就没有问题了,亲测好用的。

posted @ 2018-08-21 16:40  HOYU_Z  阅读(882)  评论(0编辑  收藏