【问题标题】:Undefined javascript function in MVC viewMVC视图中未定义的javascript函数
【发布时间】:2013-07-16 06:02:57
【问题描述】:

我有一个简单的 javascript 函数

function SayTest() {
    alert("test");
}

我在我的 MVC 4 视图中包含了 javascript 文件

<script type="javascript" src="~/Scripts/MyScripts/MyScript.js"></script>

并从我的视图中调用 SayTest 函数

<script type="text/javascript">
    $(document).ready(function () {
        $("#myBtn").click(function () {
            SayTest();
        });
    });
</script>

我收到一个未定义的函数错误。这让我发疯了。如果包含了js文件并定义了函数,为什么会出现未定义的函数错误?

【问题讨论】:

  • 你确定脚本路径正确吗?
  • 您的MyScript.js 未加载。
  • MVC 4?如果是,则必须在 BundleConfig.cs 中添加 Bundle(RegisterBundles 方法)
  • 调出 Fiddler(或您最喜欢的开发工具)并查看脚本是否已加载(确保您按 CTRL+F5 忽略缓存)。
  • 实际上你的 jquery 还没有加载,只是在调用脚本之前加载 jquer

标签: c# jquery asp.net-mvc undefined-function


【解决方案1】:

尝试使用:

<script type="text/javascript" src="~/Scripts/MyScripts/MyScript.js"></script>

【讨论】:

  • 那行不通。如果您省略结束标记(或使用以“/>”结尾的简写版本),浏览器将不会加载脚本。
  • 即使是固定的,这就是他说他已经在使用的确切线路。
  • 谢谢你甚至没有看到我使用'javascript'而不是'text\javascript'
  • @user65439:请标记为正确答案,因为它可能对其他人有帮助
  • @MicrosoftDJ 你是对的!我的错。如果您编辑答案,我可以删除反对票。
【解决方案2】:

您可能需要将 jQuery 包含到您的视图页面中:

<script type="text/javascript" src="~/Scripts/jquery.min.js"></script>

确保在任何调用 $() 的代码之前。

(注意:您可能需要更改确切的文件名以匹配项目中的内容)。

【讨论】:

  • 在点击“$ is not defined”之前,脚本引擎是否会进入“未定义的函数”且不包含 jQuery。
猜你喜欢
  • 1970-01-01
  • 2019-10-14
  • 2012-07-04
  • 2011-05-21
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
  • 2018-01-08
相关资源
最近更新 更多