내 MVC 앱은 (JQuery.get()을 통해) 많은 ajax 호출을하는 경향이있다. 내 컨트롤러가 아약스을 통해 호출되는 여러 가지 작은 메서드로 흩어져있는 일종의 괴롭힘입니다. 컨트롤러는 이제 다음 데이터 액세스 구성 요소는 URI 라우터의 더되고 있습니다 - MVC 패턴 조금 깨는 의 종류로 나에게 보인다. ASP MVC Ajax 컨트롤러 패턴?
난 그냥 (ActionResponse의 객체를 returing) 표준 라우팅 반응을 수행하는 I가 페이지 내 '진정한'컨트롤러가 너무 리팩토링. 따라서/home /에 대한 호출은 분명히 일반 제인 뷰를 반환하여 정식 컨트롤러 방식으로 응답하는 HomeController 클래스를 시작합니다. 는 그때 그의 이름은 내가 '아약스'와 앞에 추가하고있어 새로운 컨트롤러 클래스에 내 아약스 물건을 움직였다. 따라서 예를 들어, 내 페이지에는 기능의 세 가지 섹션이있을 수 있습니다 (장바구니 또는 사용자 계정). 나는 각각 (AjaxCartController, AjaxAccountController)에 대한 Ajax 컨트롤러를 가지고있다. 아약스 호출 항목을 자체 컨트롤러 클래스로 옮기는 것에 대해서는 전혀 다른 점이 없습니다. 단지 더 깨끗한 것을 유지하는 것입니다.. 클라이언트 측에서 분명히 JQuery와는 thusly 히이 새로운 컨트롤러를 사용합니다 ://jquery pseudocode call to specific controller that just handles ajax calls
$.get('AjaxAccount/Details'....
(1) 아약스 호출에 응답 MVC에서 더 나은 패턴이있다?
(2)가 아약스에 올 때 MVC 모델은 약간 새는 것을 나에게 보인다 - 정말 물건을 '제어'아니에요. 그것은 단지 Ajax 호출을 처리하는 가장 좋고 가장 고통스러운 방법입니다 (또는 나는 무지한가요?).
다른 말로하면, 'Controller'추상화는 Ajax (적어도 패턴 관점에서)에서는 좋지 않은 것처럼 보입니다. 내가 빠진 것이 있습니까? 너무 많은 세분화 된 요청이있는 경우
동의하십시오 - 기본적으로 웹에는 '물건'에 대한 두 가지 액세스 권한이 있습니다. MVC 패턴은 한 가지 방법을 처리하고 다른 방식으로 우리 패턴과 일치하지 않기 때문에 이야기하고 싶지 않습니다. 하지만 아약스가 매력적인 기술이기 때문에 (적어도 현재의 앱은 아약스를 통해 거의 완전히 구동됩니다.) 멋진 MVC 패턴은 아약스 호출에 응답하기 위해 실제로 우회되고 해킹되고 있습니다. 추가 할 수도 있음). MVC 세계에서 아약스가 아직 아주 좋은 이야기는 아닌 것처럼 보인다. –