У меня была такая же проблема, и я понял, что вам не нужно выдавать HttpException. Вместо этого:
return new HttpStatusCodeResult(401);
Обработчик onFailure должен выглядеть следующим образом:
function handleOnFailure(response) {
alert(response.status);
}
Для меня единственная проблема сейчас в том, как самому справиться с 401 вместо MVC, показывающего страницу входа. В случае 401 предупреждение не отображается, но с любым другим кодом состояния это работает.