2017-10-02 21 views
0

Ajax.BeginForm을 사용하는 면도기 부분보기가 있습니다. 문제는이 뷰에 첨부 된 각도 컨트롤러를 통해 아약스 응답을 처리하려고한다는 것입니다. htmlattributes을 사용하여 입력에 사용자 지정 특성을 첨부 할 수 있지만 AjaxOptions 외에는 Ajax.BeginForm 도우미와 비슷한 내용을 찾을 수 없습니다. 그러나 내부에 각도 조절기 방법을 어떻게 정의 할 수 있습니까?각도 컨트롤러를 통해 Ajax (Ajax.BeginForm) 응답을 처리하는 방법은 무엇입니까?

UPD : 나는 각도 방법을 통해이 이벤트를 처리 할 수 ​​

<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>  

질문은 : 나는 OnSuccess 등 아약스 이벤트가 아래와 같이 일반 자바 스크립트를 통해 처리 할 수 ​​있다는 것을 알고?

답변

0

질문에 대답하려면 예. AngularJS를 사용하여 이러한 이벤트를 처리 할 수 ​​있고 사용해야합니다. 대신 Ajax 양식 도우미를 사용할 필요가 없으며 일반 양식을 사용하십시오. 해당 양식을 연결하여 ng-click 또는 ng-submit 이벤트를 사용할 수 있습니다. 이 이벤트는 Angular 컨트롤러에서 메서드를 호출해야합니다. 그 답례로 후속 적으로 양식 자체를 제출하라는 서비스 요청을해야합니다.

+0

ng-click 또는 ng-submit을 사용하여 양식을 제출하면 페이지가 다시로드됩니다. 페이지를 새로 고침하고 싶지 않습니다. – Ari4