나는 주로 환경 설정 문제라고 생각하지만 jQuery와 함께 AJAX를 사용하면보다 유연하고 응답 성이 뛰어난 응용 프로그램이 제공된다고 생각합니다. 또한 더 이상 일할 필요가 없습니다. 당신이 뭔가를 할 필요가 단지 것 컨트롤러 형태로 한 모델의 모든 속성을 제출하려면 :
$.ajax({
url: "SomeController/SomeMethod",
data: $('#FormName').serialize(), //this will basically do what MVC would have done if you used forms and a submit button
});
그리고 모델 바인더가 다시 모델까지 당신의 모든 속성을 바인딩 컨트롤러
.
그래서 당신은 할 것이다 :
public ActionResult SomeMethod(SomeModel someModel)
{
// do work with your tightly bound model!
return View();
}
하지만를 ... 그냥 AJAX의 장점과 당신이 여기 후 발생합니다 단점 중 일부는 당신이 알고 싶다면 :
PRO :
대부분의 경우 웹 사이트의 관련 페이지는 많은 공통된 콘텐츠로 구성됩니다. 전통적인 방법을 사용하면 모든 요청에 해당 내용을 다시로드해야합니다. 그러나 웹 애플리케이션은 Ajax를 사용하여 업데이트해야하는 컨텐츠 만 요청할 수 있으므로 대역폭 사용 및로드 시간이 크게 감소합니다.
비동기 요청을 사용하면 클라이언트의 웹 브라우저 UI가 대화식으로 처리되고 입력에 신속하게 응답 할 수 있으며 페이지 섹션도 개별적으로 다시로드 할 수 있습니다. 응용 프로그램이 서버 측에서 변경되지 않은 경우에도 사용자는 응용 프로그램이 더 빠르거나 반응이 좋을 것으로 인식 할 수 있습니다.
스크립트 및 스타일 시트는 한 번만 요청하면되므로 Ajax를 사용하면 서버 연결이 줄어들 수 있습니다.
웹 사이트 전체에서 상태를 유지 관리 할 수 있습니다. 주 컨테이너 페이지를 다시로드 할 필요가 없으므로 JavaScript 변수가 지속됩니다.
CON :
는 동적 인 특성으로 인해, 아약스 인터페이스는 정적 페이지에 비해 개발 종종 어렵습니다.
연속적인 Ajax 요청을 사용하여 동적으로 생성 된 페이지는 브라우저의 히스토리 엔진에 자동으로 등록되지 않으므로 브라우저의 "뒤로"버튼을 클릭하면 사용자가 Ajax 사용 가능 페이지의 이전 상태로 돌아 가지 않을 수도 있지만 반환 될 수 있습니다 그 전에 방문한 마지막 전체 페이지로 이동합니다. 해결 방법은 보이지 않는 IFrame을 사용하여 브라우저 기록 변경을 트리거하고 Ajax가 실행될 때 URL의 앵커 부분 (# 다음에 오는)을 변경하고 변경 사항을 모니터링하는 것입니다.
동적 웹 페이지 업데이트로 인해 사용자가 응용 프로그램의 특정 상태를 책갈피에 추가하기가 어려워집니다. 이 문제에 대한 해결책이 존재하며, 그 중 다수는 URL 조각 식별자 ('#'다음에 나오는 URL 부분)를 사용하여 주어진 상태에서 응용 프로그램을 추적하고 사용자가 돌아올 수있게합니다.
대부분의 웹 크롤러는 JavaScript 코드를 실행하지 않으므로 검색 엔진이 색인을 생성 할 수 있도록 공개 색인 웹 응용 프로그램은 일반적으로 Ajax로 검색되는 콘텐츠에 액세스하는 대체 수단을 제공해야합니다.
브라우저가 JavaScript 또는 XMLHttpRequest를 지원하지 않거나이 기능이 비활성화 된 사용자는 Ajax를 사용하는 페이지를 올바르게 사용할 수 없습니다. 마찬가지로 휴대 전화, PDA 및 스크린 리더와 같은 장치는 필요한 기술을 지원하지 않을 수 있습니다. Ajax를 사용할 수있는 스크린 리더는 여전히 동적으로 생성 된 컨텐츠를 제대로 읽을 수 없습니다. 사용자가 기능을 수행 할 수있게하는 유일한 방법은 비 JavaScript 메서드로 대체하는 것입니다. 이는 링크와 양식을 올바르게 해석하고 Ajax에만 의존하지 않도록함으로써 가능합니다. JavaScript에서는 양식 제출이 "return false"로 중단 될 수 있습니다.
W3C에이 기능을 사용할 수있는 XMLHttpRequest 객체의 초안이 있지만 동일한 오리진 정책은 일부 Ajax 기술이 도메인에서 사용되는 것을 방지합니다.
다른 웹 기술과 마찬가지로 Ajax에는 개발자가 해결해야하는 고유 한 취약점 집합이 있습니다. 다른 웹 기술에 익숙한 개발자는 안전한 Ajax 응용 프로그램을 작성하기 위해 새로운 테스트 및 코딩 방법을 배워야 할 수도 있습니다.
Ajax 기반 인터페이스는 웹 서버와 백엔드 (데이터베이스 또는 기타)에 대한 사용자 생성 요청 수를 크게 늘릴 수 있습니다. 이로 인해 응답 시간이 길어지고 하드웨어가 추가로 필요할 수 있습니다.
what are the advantages and disadvantages of making ajax calls using jquery?