jQuery getScript failing



所以我有三个文件。

HTML 有:

<script type="text/javascript" src="~/Scripts/custom-notebook.js"></script>

自定义笔记本.js行给出 404 未找到:

$.getScript('Scripts/custom-notebook-services.js'); //this gives 404

1. 自定义笔记本服务.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

将路径从 Razor 帮助程序获取到脚本中的一种方法是通过数据属性。

<body data-script-dir="@Url.Content("~/Scripts")">

现在在你的javascript中提取它,但你需要延迟你的脚本,直到DOM加载。

$(function() {
    var scriptDir = $("body").attr("data-script-dir");   //  "/Scripts"
});

然后,您可以将路径的其余部分附加到该字符串。

您在 IIS 上配置了良好的虚拟目录?在同一个目录中,您有包含此<script type="text/javascript" src="/Scripts/custom-notebook.js"></script>的页面,您应该在页面的同一目录中有一个指向"脚本"的虚拟目录。

最新更新