jQuery getScript失败

时间:2015-04-28 16:58:35

标签: c# jquery

所以我有三个文件。

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

2 个答案:

答案 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"
});

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