Request.IsAjaxRequest zwraca false
Mam projekt MVC, w którym mam formularz z przyciskiem wysyłania. Dodałem program obsługi klienta po stronie jquery, który przechwytuje zdarzenie przesyłania formularza. Funkcja javascript wywołuje tę samą akcję MVC, która zostałaby wywołana bez javascript.
$("form[action ='/List/CreateItem']").submit(
function() {
$.post($(this).attr("action"), $(this).serialize(), function(response) { $("#results").html(response); });
return false;
}
);
W wywołanej akcji MVC testuję Request.IsAjaxRequest, aby zdecydować, czy zwrócić widok, czy wynik JSON. Moim problemem jest to, że Request.IsAjaxRequest zwraca wartość false, chociaż wiem, że wywołanie jest wykonywane z funkcji jquery. (Wiem o tym, ponieważ jeśli skomentuję linię $ .post w funkcji jquery i po prostu opuszczę linię return false, nic się nie dzieje. Jeśli odkomentuję linię, akcja zostanie wykonana - ale zwraca widok, ponieważ IsAjaxRequest jest fałszywy.)
Czy ten wiersz powinien powodować, że Request.IsAjaxRequest jest prawdziwy?