jQuery getScript failing
所以我有三个文件。 P / < >
腹部:HTML P / < >
P / < >
custom-notebook.js线给404不发现: P / < >
$.getScript('Scripts/custom-notebook-services.js'); //this gives 404 P / < >
1。custom-notebook-services.js exists。它是用来工作的,但我改变了HTML pathing包括"~/因为我有我的虚拟应用(是的# MVC(C)………………… P / < >
2。现在没有什么是我做的工程(是的,也searched周围)。 P / < >
-
我试过了$.getScript('../Scripts/custom-notebook-services.js'); P / < >
-
和$.getScript('../../Scripts/custom-notebook-services.js'); P / < >
-
和$.getScript('/Scripts/custom-notebook-services.js'); P / < >
好运气: P / < >
总是给我的404与路径 P / < >
domain.com/Controller/Scripts/custom-notebook-services.js P / < >
...instead之适当的路径: P / < >
domain.com/Scripts/custom-notebook-services.js P / < >
- 也可以尝试在其他链接中使用~。看看结果如何
- wierd显示404:domain.com/Controller/~/Scripts/custom-notebook-script.js。
- 用
从Razor助手获取到脚本中的路径的一种方法是通过数据属性。
1
| <body data-script-dir="@Url.Content("~/Scripts")"> |
现在在您的javascript中提取它,但是您需要将脚本延迟到加载了dom。
1 2 3
| $(function() {
var scriptDir = $("body").attr("data-script-dir"); // "/Scripts"
}); |
然后可以将路径的其余部分附加到该字符串。
- 我赞成杰森的,这可能很接近…您可能需要使用上述方法将完整的域URL连接到data-script-dir中,并使用stackoverflow.com/a/21226409/3023642构建路径。为了我的目的,我到处找工作。这是一个很奇怪的问题!jquery在MVC虚拟目录中似乎没有很好的表现。
您已在IIS上正确配置了虚拟目录?在同一个目录中,您有一个包含该的页面,您应该有一个虚拟目录指向该页面的同一目录中的"脚本"。
- 对,所以你说Scriptdir应该在虚拟目录root中,是吗?这就是我要做的。