所以我有三个文件。
html 有:
<script type="text/javascript" src="~/Scripts/custom-notebook.js"></script>
custom-notebook.js 行会找不到404:
$.getScript('Scripts/custom-notebook-services.js'); //this gives 404
1。 custom-notebook-services.js存在。它曾经工作但我更改了html路径以包含~/
,因为我有一个虚拟应用程序(是的MVC C#)..
2。现在我没有做任何事情(是的,也搜索过)。
我尝试了$.getScript('../Scripts/custom-notebook-services.js');
和$.getScript('../../Scripts/custom-notebook-services.js');
和$.getScript('/Scripts/custom-notebook-services.js');
没有运气:
总是给我一个带路径的404
domain.com/Controller/Scripts/custom-notebook-services.js
...而不是正确的道路:
domain.com/Scripts/custom-notebook-services.js
答案 0 :(得分:2)
您是否在IIS上配置了虚拟目录?
在同一目录中,您拥有包含此<script type="text/javascript" src="/Scripts/custom-notebook.js"></script>
的页面,您应该有一个指向&#34; Scripts&#34;的虚拟目录。在该页面的同一目录。
答案 1 :(得分:2)
从Razor帮助程序获取路径到脚本的一种方法是通过数据属性。
<body data-script-dir="@Url.Content("~/Scripts")">
现在在你的javascript中提取它,但你需要延迟你的脚本,直到加载DOM。
$(function() {
var scriptDir = $("body").attr("data-script-dir"); // "/Scripts"
});
然后你可以将你路径的其余部分附加到该字符串。