2016. 11. 30.

[JavaScript] To check ajax error

Ajax Error() option


게시판 리스트에서 데이터를 클릭하면 ajax로 해당 데이터의 키값을 보내서 DB로부터 정보를 가져오는 작업을 하고 있었다. 그런데 ajax의 에러를 확인해야 할 일이 생겼는데, $.ajax는 몇가지 콜백함수를 제공해준다는 걸 알았다. Ajax has some callback options like these :

 [callback options of Ajax] : success / error / complete


이때 Error는 3개의 파라미터를 갖는다. Error option has 3 parameters like these :

1. XMLHttpRequest -브라우저와 서버 사이에서 데이터를 변환하는 함수의 API.
2. XHR의 상태값 -요청이 어떤상태인지를 알려줌. Status of XHR
3. error -에러내용을 알려줌. Error message


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function ClickEvent() {
$('#Table tbody').on( 'click''tr'function () {
if ( $(this).hasClass('sOn') ) {
defineId_Str = $(this).find("td").eq(0).text();
//클릭한 행의 0번째에 있는 id 컬럼을 가져옴
$.ajax({
url: '/board/getClickData'//controller에 RequestMapping된 주소
data: {"idBoard": defineId_Str},
"post"//data(idBoard)를 요청해 성공하면 success이하(callback) 코드실행
 datatype : "json",
 success: function(o) {
 console.log(o); &//ajax를 통해 DB에서 넘어온 데이터
 var Obj = o.data[0];    //클릭한 데이터 1행을 담음
 }, 
 error: function (xhr_stat, ajaxOptions, thrownError) {
                        //parameter :XMLHttpRequest(브라우저와 서버 사이에서 데이터를 변환하는 함수의 API), XHR의 상태값, 에러내용
 console.log(xhr_stat + ' --> ' + ajaxOptions + ' --> ' + thrownError);
}
});
}
});
}
cs


위의 ClickEvent()는 데이터를 클릭했을 때 그 키값을 서버로 보내, DB에서 정보를 가져오는 함수이다. Model, View, Controller는 프로젝트마다 다르므로 ajax관련만 설명함. ClickEvent() is a method that send key value from selected data and bring the information about columns.


1. url
: controller에서 requestMapping의 value로 정한 주소값이다. this is url value that has RequestMapping with same value from controller(maybe java class)

2. data
: json형태로, defineId_Str이라는 키값을 idBoard라는 이름으로 보낸다. controller에서 매핑된 함수의 파라미터로 넘어가는 값이기도 하다. the key value name is defineId_Str be send with the name idBoard. and that is a parameter name in controller class.

3. type
: Post방식은 브라우저 url에 남지 않는다. 따라서 데이터호출용이므로 post를 쓴다. Post method doesn't have fingerprint on url. so I use Post way to just call datas.

4. success
: ajax가 완료되면 이 함수를 실행하라는 의미의 콜백함수이다. 호출한 데이터는 o에 담김.

5. error 
 위에서 설명한 에러가 나면 이 함수를 실행하라는 콜백함수이다.

댓글 없음:

댓글 쓰기