때는 11월의 어느 중반 면접의 질문 중 동기, 비동기에 대하여 설명하라고 했다. 질문에 대한 답을 못하자 "에이작스는 동기인가 비동기인가?" 친절하게 바꿔주셨는데 그것마저 답을 못했다. 덕분에 동기와 비동기에 대하여 확실히 공부하게 되었다!
ajax(Asynchronous JavaScript And XML)는 JavaScript와 XML을 이용한 비동기적방식으로 서버와 통신하는 방식이다. 즉, ajax를 이용하면 페이지 전체를 로딩하지 않아도 일부분만 갱신할 수 있다.
ajax의 기본 뼈대 :
$.ajax({
url: "", //서버 url
type: "POST", //HTTP 요청 타입
async: true, // true(비동기), false(동기)
dataType: "", //서버로부터 받을 데이터 타입
data: data, //서버로 전달할 데이터(key:value 형태의 객체 or String)
contentType: "application/x-www-form-urlencoded; charset=UTF-8", //서버로 보내는 데이터 타입
//콜백함수
beforeSend:function(){
alert("ajax통신 전 무조건 실행");
xhr.abort(); // ajax 중단함수
},
success : function(arg) {
alert("통신성공시에만 실행");
},
error : function(xhr, status, error){
alert("통신실패시에만 실행");
},
complete:function(){
alert("ajax통신 후 무조건 실행");
}
});
Jquery를 이용한 AJAX
$.ajax({
type: "GET",//HTTP 요청 타입
url: "", //서버 url
data: {}, //서버로 전송할 데이터
success: function(response){
alert("통신성공시 실행")
}
error : function(xhr){
alert("통신실패시 실행")
}
})
내 생각에 Jquery로 ajax를 처리하는 이유는 코드의 간결성 때문에 jquery로 처리하는 것이 아닌가 싶다.