Dim*_*kiy 8 iis ajax jquery url-routing asp.net-mvc-3
我有一个.NET MVC3刚刚部署到虚拟目录中的实际服务器的项目.我们称之为VirtDir.我的JavaScript文件都有AJAX的URL,如下所示:
"/Home/Save/"
Run Code Online (Sandbox Code Playgroud)
这在当地工作得很好.
在实际的服务器上,第一个"/"杀死了虚拟目录,所以我得到了
"/Home/Save/"而不是"/VirtDir/Home/Save/"明显失败.
如果我删除第一个"/",那么事情会在本地中断,导致定义的URL被附加到当前页面的URL:如果你在"/Home/Index"页面上,AJAX URL将指向
"/Home/Index/Home/Save".
我的JavaScript是在单独的*.js文件中,所以我无法真正写入@Url.Content它们.
谁知道这个问题有一个很好的解决方案?
Bri*_*ian 22
您可以在布局文件或母版页中添加一些代码,在包含JS文件之前将根目录写入JS变量.然后,您可以使用该变量在JS文件中构建路径.
在剃刀:
<script type="text/javascript">
var rootDir = "@Url.Content("~/")";
</script>
<script src="@Url.Content("~/Scripts/MyScript.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样在你的文件中构建你的url:
var myurl = rootDir + "Home/Save/";
Run Code Online (Sandbox Code Playgroud)