#c# #ajax #asp.net-mvc-5
#c# #ajax #asp.net-mvc-5
Вопрос:
У меня очень странная проблема с ненавязчивыми формами Ajax.
Форма отправляется контроллеру, но обратные вызовы не запускаются.
Я проверил настройки конфигурации, у меня есть все необходимые сценарии.
Вот пример одной из форм.
Находится в файле js
var AdminSaveComplete = function (xhr, response) {
}
var AdminSaveFailed = function (xhr, response, message) {
}
var AdminSaveSuccess = function (result, response, xhr) {
$('#li1 .Slide_Dwn_Pan').slideUp();
$("#li1 .Bullet").removeClass("DropBullet");
$('#li2 .Slide_Dwn_Pan').slideDown();
$("#li2 .Bullet").addClass("DropBullet");
$('#breadCrumbs').html('<li> New Event Set-up | Type</li>');
}
var AdminSaveBegin = function () {
alert('OnBegin');
}
@using (Ajax.BeginForm("SubmitEventAdmin", "Events", null, new AjaxOptions
{
OnComplete = "AdminSaveComplete",
HttpMethod = "POST",
OnFailure = "AdminSaveFailed",
OnSuccess = "AdminSaveSuccess",
OnBegin = "return AdminSaveBegin()"
}, new { enctype = "multipart/form-data" }))
{
У меня есть формы в частичных представлениях, которые я загружаю в основное представление, одну за другой, они не встроены друг в друга.
Комментарии:
1. Работает ли это, если вы определяете свои функции, например
function AdminSaveComplete(xhr, response) { }
, и у вас есть ненавязчивый ajax-скрипт Microsoft, включенный на страницу? Есть ли какие-либо ошибки в консоли? Какую версию jQuery вы загрузили?2. @AshleyMedway не имеет значения, как это определено. У меня включен последний jQuery, скрипт включен на странице, ошибок нет, происходит вызов ajax, он попадает в точки останова в контроллере, и данные передаются и сохраняются в базе данных. Он работал, а затем просто остановился, когда я начал добавлять несколько форм, каждая форма Ajax имеет свои собственные функции обратного вызова
3. Дать идентификаторы форм? Убедитесь, что они не вложены?
4. @AshleyMedway Они не вложены, попробуйте ввести идентификаторы сейчас, и вы узнаете