#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. Спасибо! в этом и заключалась проблема 🙂