Как обработать ответ Ajax(Ajax.BeginForm) через угловой контроллер?

У меня есть частичный вид бритвы, который использует Ajax.BeginForm, Проблема в том, что я хочу обработать ответ ajax через угловой контроллер, который прикреплен к этому представлению. Хотя я могу прикрепить пользовательские атрибуты к входам, используя htmlattributesЯ не мог найти ничего похожего для Ajax.BeginForm помощник помимо AjaxOptions. Но как я могу определить метод углового контроллера внутри него?

upd: я знаю что OnSuccess и т.д. события ajax могут обрабатываться с помощью обычного JavaScript, как показано ниже:

<div class="content">
@using (Ajax.BeginForm("AccountCheckLogin2", "Login", new AjaxOptions { OnSuccess = "OnSuccessLogin", OnBegin = "OnBeginLogin", OnComplete = "OnCompleteLogin", OnFailure = "OnFailureLogin" }))
{
//inputs here
}
<a class="link" href="/Registration/Registration">Я не зареестрований</a>
</div>
</div>

<script type="text/javascript">
function OnSuccessLogin(response) {
if (response.ResponseCode == "1") {
window.location = "/";
}
else
{
$("#LoginValidationSummary ul").append("<li>"+response.ResponseMessage+"</li>");
}
}
function OnBeginLogin() {
$("#loginSubmit").prop("disabled", true);
}
function OnCompleteLogin() {
$("#loginSubmit").prop("disabled", false);
}
function OnFailure() {
alert("Whoops! That didn't go so well did it?");
}
</script>    

Вопрос в том, могу ли я обработать эти события с помощью методов Angular?

1 ответ

Чтобы ответить на ваш вопрос, да. Вы можете и должны использовать AngularJS для обработки этих событий. Вам не нужно использовать Ajax Form Helper, вместо этого используйте обычную форму. Вы можете подключить эту форму, чтобы использовать ng-click или же ng-submit событие. Это событие должно вызвать метод в вашем контроллере Angular. Что в свою очередь должно впоследствии сделать ваш сервисный звонок для отправки самой формы.

Другие вопросы по тегам