ASP.NET MVC - Uncaught ReferenceError: jQuery не определен, даже если я включаю библиотеку

Я использую 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 не определен

Я действительно не вижу, где проблема. Есть идеи?


person Traffy    schedule 10.03.2015    source источник


Ответы (1)


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
}
person Dawood Awan    schedule 10.03.2015