ASP.NET MVC - Uncaught ReferenceError: jQuery is not defined even if I'm including the library

ASP.NET MVC - Uncaught ReferenceError: jQuery is not defined even if I'm including the library

我正在使用 ASP.NET MVC 4,我正试图将一个值从我的 JavaScript 传递到我的控制器操作。这是我在 JavaScript 中尝试做的事情:

function DoubleClick() {
    debugger;
    var id = 1;
    $.ajax({
        type: "POST",
        url: "/Home/GetAppId",
        data: { id: id}
    });
}

还有我的动作(非常简单的动作):

public JsonResult GetAppId(int id)
{
    //some code will be included here
}

在我的布局模板中,我正确地包含了我的脚本(实际上我在一些其他页面中使用了 JS,并且它有效):

    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery.validate.globalize.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/jquery-ui-1.10.4.custom.min.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-ui-1.10.4.custom.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/DatePickerReady.js")" type="text/javascript"></script>

当我打开 Chrome 开发工具 (F12) 时,我在控制台选项卡中看到以下错误消息:

Uncaught ReferenceError: jQuery is not defined

我实在看不出问题出在哪里。有什么想法吗?

jQuery.Validate 使用 jQuery.

<script src="@Url.Content("~/Scripts/jquery.validate.globalize.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.js")" type="text/javascript"></script>

应该是这样的:

   <script src="@Url.Content("~/Scripts/jquery.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.globalize.min.js")" type="text/javascript"></script>

至于为什么你的 JavaScript 没有回发另一个错误的值。

您在 Ajax 中使用 "POST"。在您的方法上放置一个 HttpPost 属性。

[HttpPost]
public JsonResult GetAppId(int id)
{
    //some code will be included here
}