У меня есть страница с основными данными, я создал функцию javascript во внешнем файле, которая всегда вызывается при отправке любой формы, эта функция отправляет пост-вызов ajax соответствующему контроллеру ASP.NET MVC, а при успешном контроллере возвращает объект json в функцию SubmitForm (), которая, в свою очередь, перезагружает экземпляр с данными и отображает уведомление, все работает нормально, но теперь, когда мне нужно динамически отобразить несколько таблиц данных на одной странице, я всегда получаю сообщение об ошибке (Не удается прочитать свойство 'перезагрузка' из неопределенного)
Я попытался добавить необязательный параметр в функцию SubmitForm (form, id = ''), поэтому в случае, если моя форма возвращает идентификатор, она перезагружает соответствующий объект данных, но выдает ту же ошибку.
//JS function in file.js
function SubmitForm(form, id = '') {
$.validator.unobtrusive.parse(form);
if ($(form).valid()) {
$.ajax({
type: "POST",
url: form.action,
data: $(form).serialize(),
success: function (data) {
if (data.success) {
//global variable that is always present in all pages
datatable.ajax.reload();
if (id) {
var tbl = $(id).dataTable();
tbl.ajax.reload();
}
$(form)[0].reset();
$.notify(data.message, { globalPosition: "top center", className: "success" });
if (data.type != "Add") {
$("#myModal").modal('hide');
}
}
}
});
}
return false;
}
//MVC FORM in partial view
@using (Html.BeginForm("AddOrEditSE", "ProjectStaff", FormMethod.Post, new
{ id = "form", onsubmit = "return SubmitForm(this,'#SE')" }))
{
// elements
}
Ожидаемый результат:
сообщение об успешном уведомлении Notify.js и перезагрузка соответствующей таблицы данных.
(в данном случае #SE)
Фактический результат:
Ошибка Не удается прочитать свойство 'reload' из неопределенного