#javascript #ajax #asp.net-mvc #window.location
#javascript #ajax #asp.net-mvc #окно.Расположение
Вопрос:
Ниже приведен мой код ajax:
$.ajax({
url: '@Url.Action("AddUser", "ControllerName")',
dataType: 'json',
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
type: 'POST',
data: {
//data
},
success: function (data, textStatus, jqXHR) {
console.log(jqXHR.status);
if (data.isSuccess) {
alert(data.message);
}
else {
alert(data.message);
}
window.location.href = "@Url.Action("Index", "ControllerName")";
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.status);
window.location.href = "@Url.Action("Index", "ControllerName")";
}
});
Вместо отображения alert(data.message);
я хочу показывать пользовательское уведомление после загрузки страницы.
Я не хочу передавать какие-либо параметры строки запроса, поскольку это видно в URL.
Есть два возможных способа отображения уведомлений:
1)
$(".notificationdiv").html("<div class='notification alert alert-success' role='alert'>
<strong> Operation performed successfully</strong>
</div>");
$(".notification").fadeOut(4000);
- У меня есть пользовательский виртуальный метод базового контроллера для отображения уведомлений.
Вызов этого метода после перенаправления страницы.
Пожалуйста, дайте мне знать, как показывать уведомления. Приветствуется пример кода. Заранее благодарю вас.
Ответ №1:
Использовать sessionStorage
В ajax успех перед окном.Расположение.href добавьте это
sessionStorage.successMessage= true;
И добавьте это в свой jquery
$(function () {
if (sessionStorage.successMessage) {
$(".notificationdiv").html("<div class='notification alert alert-success' role='alert'><strong> Operation performed successfully</strong></div>");
$(".notification").fadeOut(4000);
sessionStorage.successMessage= false;
sessionStorage.removeItem("successMessage") //if you want remove from session storage
}
});