所以我有三个文件。

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

最佳答案

从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/

10-09 05:49
查看更多