Так у меня есть таблица с моей точки зрения, и с помощью следующего сценария я отправить Аякса данные в контроллер, который обновляет свою базу данных:Почему в моем проекте MVC не возникает ошибка ajax?
$('.save-table').on('click', function() {
var tr = $(this).parents('tr:first');
var PredefName = tr.find("#PredefName").val();
var PredefDescription = tr.find("#PredefDescription").val();
var PredefID = tr.find("#PredefID").html();
tr.find("#lblPredefName").text(PredefName);
tr.find("#lblPredefDescription").text(PredefDescription);
tr.find('.edit-mode, .display-mode').toggle();
$.ajax({
url: '/PredefinedViews/Update/',
data: JSON.stringify({ pID: PredefID, pName: PredefName, pDescript: PredefDescription }),
type: 'POST',
contentType: 'application/json; charset=utf-8',
error: function (event, jqxhr, settings, exception) {
alert("something went wrong")
if (jqxhr.status == 401) {
alert("session expired!");
}
},
success: function (event, jqxhr, settings, exception) {
alert("database updated!");
}
});
});
Так что у меня сессия, которая должна быть 5mins короткие, которые Я настроен успешно, мне нужно, чтобы пользователь получил уведомление о том, что сеанс истек НО сообщение об ошибке никогда не запускается после окончания сессии! однако ALWAYS запускает сообщение об успешном завершении, даже если ничего не было сохранено в базе данных. Так что мой вопрос в том, как я могу вызвать ошибку ajax?
EDIT1 Вот метод в мой контроллер:
[HttpPost]
[ValidateInput(false)]
public ActionResult Update(int pID, string pName, string pDescript)
{
using (PanSenseEntities context = new PanSenseEntities())
{
tblPredefineView existingPredefineView = context.tblPredefineViews.Find(pID);
existingPredefineView.Name = pName;
existingPredefineView.Description = pDescript;
context.SaveChanges();
}
return Json(JsonRequestBehavior.AllowGet);
}
EDIT2 Я просто понял, что если истекает сеанс она не достигает даже контроллер! Im stumped здесь сейчас ...
Можете ли вы поделиться своим кодом действия на стороне сервера? –
Вам нужно выбросить исключение или вернуть ошибку Http –