Сделай как положено
jQuery Ajax-запросы могут обрабатывать success
, а также error
состояния. Таким образом, правильный способ - на самом деле вернуть ошибку ( не HTTP 200 состояние) с сервера, если у вас есть ошибки проверки. Не возвращайте представления, если вы не должны отображать их. Но даже в этом случае они должны быть частью ошибочного результата, который будет отображаться различными функциональными возможностями на стороне клиента (error
функция обработчика).
Прочитайте все подробности об этом в моем блоге . Там также представлен весь код, и все объясняется шаг за шагом, поэтому его легко понять.
Он использует пользовательский класс исключений , который генерируется при возникновении ошибок состояния модели, и пользовательский фильтр действий с ошибками , который использует это исключение и возвращает ошибку на стороне клиента. Это облегчает выполнение Ajax-запроса надлежащим образом:
$.ajax({
type: "POST",
data: /* your data */,
success: function(data, state, xhr) {
// do wahetever required
},
error: function(xhr, state, err) {
// do something about the error ie. inform the user about it
}
});
Это гораздо лучше, чем обнаруживать ошибки в состоянии success
и иметь в нем ненужную ветвь. Предполагается, что jQuery будет использоваться таким образом, а не только с обработчиком success
.
Sidenote
Прошу прощения за то, что не видел ваш вопрос раньше, потому что, полагаю, это сделает вас счастливее от информации, которую он предоставляет.