У меня есть проект MVC, в котором у меня есть форма с кнопкой отправки. Я добавил клиентский обработчик jquery, который перехватывает событие отправки формы. Функция javascript вызывает то же действие MVC, которое было бы вызвано без javascript.
$("form[action ='/List/CreateItem']").submit(
function() {
$.post($(this).attr("action"), $(this).serialize(), function(response) { $("#results").html(response); });
return false;
}
);
В вызываемом MVC-действии я проверяю Request.IsAjaxRequest, чтобы решить, следует ли возвращать представление или результат JSON. Моя проблема заключается в том, что Request.IsAjaxRequest возвращает false, хотя я знаю, что вызов выполняется из функции jquery. (Я знаю это, потому что если я закомментирую строку $ .post в функции jquery и просто оставлю возвращаемую ложную строку, ничего не произойдет. Если я откомментирую строку, действие будет выполнено - но оно возвращает представление, потому что IsAjaxRequest ложь.)
Должна ли эта строка приводить к истинности значения Request.IsAjaxRequest?