如何解决具有虚拟目录的IIS中的AJAX网址路由问题
| 我得到了一个“ 0”项目,该项目刚刚部署到虚拟目录中的实际服务器上。叫VirtDir
。我的JavaScript文件都具有如下定义的AJAX网址:
\"/Home/Save/\"
在本地工作正常。
在实际的服务器上,第一个\“ / \”将杀死虚拟目录,因此我得到
用\"/Home/Save/\"
代替\"/VirtDir/Home/Save/\"
显然会失败。
如果我删除第一个\“ / \”,那么事情就会在本地中断,导致将定义的URL附加到当前页面的URL:如果您在\"/Home/Index\"
页面上,则AJAX URL会指向
\"/Home/Index/Home/Save\"
。
我的JavaScript位于单独的* .js文件中,因此我无法真正向它们写入@Url.Content
。
有人知道这个问题有一个好的解决方案吗?
解决方法
您可以在布局文件或母版页中添加一些代码,以便在包含JS文件之前将根目录写出到JS变量中。然后,您可以使用该变量在JS文件中构建路径。
在剃刀中:
<script type=\"text/javascript\">
var rootDir = \"@Url.Content(\"~/\")\";
</script>
<script src=\"@Url.Content(\"~/Scripts/MyScript.js\")\" type=\"text/javascript\"></script>
然后,您可以像这样在文件中构建URL:
var myurl = rootDir + \"Home/Save/\";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。