В разрабатываемом веб-приложении я отображаю модальное диалоговое окно с помощью Bootstrap.В этом диалоге у меня есть элементы формы и кнопка сохранения.Когда пользователь нажимает «Сохранить», я запускаю функцию, которая вызывает $ .post для вызова действия asp.net mvc для сохранения введенных данных.
В браузере (Chrome) при нажатии кнопки «Сохранить» отображается следующее сообщение:
"Произошло нечто неожиданное: (.....".
После подтверждения сообщения об ошибке вызывается действие asp.net, а остальная часть сценария завершаетсяХорошо. Я также вижу ту же ошибку, если я использую $ .ajax.
IE дает немного другое поведение. То же самое сообщение в IE, но оно появляется после завершения функции обратного вызова.
ЕслиЯ вызываю функцию сохранения извне модального диалога. Я не вижу этого сообщения об ошибке.
function saveUser() {
var userId = $('#userId').val();
var fullName = $('#fullName').val();
var userName = $('#userName').val();
var isAdmin = $('#isAdmin').is(':checked');
var authenticationMode = $('#userAuthenticationMode').val();
$.post(
"@Url.Action("Save", "Account")",
{
userId : userId,
fullName : fullName,
userName : userName,
isAdmin : isAdmin,
authenticationMode : authenticationMode
},
function (data) {
if (data.Success) {
alert("success");
}
else {
alert("failed");
}
}
);
Вот модальное объявление:
<div id="update_user_modal" class="modal hide">
.
.
.
<div style="float:right">
<button id="SaveUser" class="btn btn-primary">Save changes</button>
</div>
</div>
Обновление:
Найден источник сообщения с предупреждением.В коде есть обработчик ошибок ajax, о котором коллега не упомянул:
// Set up AJAX error handling ...
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
if (jqXHR.status == 404) {
$("#NotFoundInfoDialog").dialog("open");
} else if (jqXHR.status == 500) {
$("#InternalServerErrorDialog").dialog("open");
} else {
alert("Something unexpected happend :( ...");
}
});
Любые идеи о том, как отладить ошибку ajax..status возвращает 0.
Обновление Когда я использую $ .ajax для вызова ajax, происходит следующее:
Первый раз, когда я пытаюсь сохранить неизвестное исключение ajax, вызывается и модальное закрывается.
Если я снова выведу модальный режим и попытаюсь сохранить его, он будет работать нормально.
Если я знаю, попробуйте снова отобразить модал и сохранить, я получаю «Внутренняя ошибка сервера».Мое действие MVC работает нормально.
Обновление Понятия не имею, почему, но удаление тегов формы в модальном div решило проблему.
Спасибо,
Lance