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
위에서 설명한 에러가 나면 이 함수를 실행하라는 콜백함수이다.
댓글 없음:
댓글 쓰기