Функция не определена ошибка при использовании ajax внутри

#javascript #jquery #ajax

Вопрос:

Я получаю ошибку Uncaught ReferenceError: GetLicenceUserList is not defined в консоли браузера, когда вызываю функцию с помощью $.ajax функции внутри.

Но вызов моей функции работает просто отлично, когда я вызываю ее только с alert("example"); внутренней стороны.

Это код обоих примеров.

 function GetLicenceUserList(id, actPage = 1, actualSearch = "", colOrder = 2, colDirec = "desc") {

alert(id   " - "   actPage   " - "   actualSearch   " - "   colOrder   " - "   colDirec);

/*$.ajax({
    url: "/Licences/UserLicenceList",
    type: "POST",
    data: {
        userId: id,
        actPage = actPage,
        actualSearch = actualSearch,
        colOrder = colOrder,
        colDirec = colDirec
    }
}).done(function (result) {
    $("#userLicence-list-card").html(result);
    alert("ok");
}).fail(function () {
    //operaciones en caso de falla
    alert("fail");
});*/
}
 

Это отлично работает, и в следующем случае возникает ошибка (при раскомментировании вызова ajax):

 function GetLicenceUserList(id, actPage = 1, actualSearch = "", colOrder = 2, colDirec = "desc") {

//alert(id   " - "   actPage   " - "   actualSearch   " - "   colOrder   " - "   colDirec);

$.ajax({
    url: "/Licences/UserLicenceList",
    type: "POST",
    data: {
        userId: id,
        actPage = actPage,
        actualSearch = actualSearch,
        colOrder = colOrder,
        colDirec = colDirec
    }
}).done(function (result) {
    $("#userLicence-list-card").html(result);
    alert("ok");
}).fail(function () {
    //operaciones en caso de falla
    alert("fail");
});
}
 

Комментарии:

1. idownvotedbecau.se/imageofcode

2. @Jejun извините, исправлено 😀

3. Используйте такой инструмент, как eslint или jshint. Вы допустили несколько (идентичных) опечаток и сгенерировали синтаксическую ошибку. Объектные литералы используют key: value пары, а не key = value пары.

Ответ №1:

Ваш объект данных неправильно определен в $ajax

Вы используете знаки равенства (=) вместо двоеточий (:).

Вместо этого объект данных должен быть таким:

 data: {
        userId: id,
        actPage: actPage,
        actualSearch: actualSearch,
        colOrder: colOrder,
        colDirec: colDirec
    }
 

Комментарии:

1. Спасибо! в этом и заключалась проблема 🙂