Я бы начал с предоставления функции ошибки при вызове AJAX, чтобы вы могли получить представление о том, что происходит на стороне клиента. Пример:
$.ajax({
url: "MyController/Mymethod",
type: "POST",
data: { file: file.files[0] },
error: function(jqXHR, textStatus, errorThrown) {
alert( textStatus + ": " + errorThrown );
}
success: function(data, textStatus, jqXHR) {
alert( "success: " + textStatus );
}
});
Я предполагаю, что вы уже установили точку останова внутри вашего контроллера, чтобы убедиться, что он на самом деле не вызывается.