所以我有三个文件。
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');
没运气:
总是给我带路径的404domain.com/Controller/Scripts/custom-notebook-services.js
...而不是正确的路径:domain.com/Scripts/custom-notebook-services.js
最佳答案
从Razor帮助程序到脚本的路径的一种方法是通过数据属性。
<body data-script-dir="@Url.Content("~/Scripts")">
现在,将其提取到您的JavaScript中,但是您需要将脚本延迟到DOM加载完成。
$(function() {
var scriptDir = $("body").attr("data-script-dir"); // "/Scripts"
});
那么您可以将路径的其余部分附加到该字符串。
关于c# - jQuery getScript失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29925519/