👻 Ajax는 페이지 이동 없이 데이터 처리가 가능, 서버의 처리를 기다리지 않고 비동기 요청이 가능하다!
JSP 페이지의 동작 방식은 결과를 처리한 후 HTML 태그를 클라이언트의 브라우저에 전송해 다른 페이지를 보여준다. 페이지 이동이 발생.
Ajax로 페이지를 처리하는 경우 원래 요청 페이지로 전송. 페이지 이동이 발생하지 않음.
일반 웹 개발에서도 자바스크립트의 발전과 더불어 리액트, 뷰, 앵귤러와 같은 대규모 웹 애플리케이션 개발을 지원하는 라이브러리나 프레임워크가 발전하면서 클라이언트와 서버의 역할 분배가 이루어지고 있는 중이다.
$.ajax({
type: "post 또는 get",
async: "true 또는 false",
url: "요청할 URL",
data: {서버로 전송할 데이터},
dataType: "서버에서 전송받을 데이터 형식",
success: {
// 정상 요청, 응답 시 처리
},
error: function(xhr, status, error){
// 오류 발생 시 처리
},
complete: function(data,textStatus){
// 작업 완료 후 처리
}
});
쇼핑몰 프로젝트에서 사용하는 ajax도 하나 가지고 와봤다!
순서대로 살펴보면
type: 통신 타입은 get 방식,
asyne: 비동기식으로 처리,
url: contextPath}/goods/keywordSearch.do,
data: 서버에 요청할 매개 변수 keyword:value,
success: 요청에 성공했을 때
var jsonInfo = JSON.parse(data); - 전송된 데이터를 JSON으로 파싱
displayResult(jsonInfo); 전송된 JSON 데이터를 표시
error: 요청에 실패했을 때
alert창 "에러가 발생했습니다." 띄우기
complete: 모든 작업을 마침