1. 개요
ajax callback 함수에서 xml로 전달받은 내용에서 값을 추출하기 위함이지만 중요한 것은 내가 작업을 한 것을 잊지 않기 위해 작성함.
2. 상세내용
- ajax callback 함수에서 2개의 xml 을 전달받고 값을 추출하기 위함.
- ajax를 호출을 할 때 2개 이상의 처리 데이터 그룹을 받고자함.
(DB에서 받은 목록이 2개 일 때 건마다 ajax 호출을 하면 일도 많아도 반복적인 소스가 발생하여 한번 호출할 때 필요한
데이터를 모두 받아오기 위함임)
3. 구현
- ajax callback 함수에서 전달 파라미터로 받는 json, instant, node, xmlDoc 중 xmlDoc를 이용함.
- 별도의 전달 옵션을 설정하지 않음.
- 우선 전달받은 xmlDoc에 데이터 그룹이 맞는지 확인하기 위하여 ajax callback 함수 호출 시 setOnAfterAction에
전달받을 Callback 함수명을 추가한다.
// java ajax 처리 예시코드 이며 동작안함.
sync ajax = new sync("UTF-8")
syncMuiltData sysnData1 = new SyncMuiltData(test1);
syncMuiltData sysnData2 = new SyncMuiltData(test2);
ajax.add(sysnData1);
ajax.add(sysnData2);
sysnData1.setOnAfterAction("callbaktest1");
sysnData1.setOnAfterAction("callbaktest2");
- 위와 같이 ajax를 동작시하고 난 후 Callback 처리 가 되면 아래와 같이 XML을 확인하여 데이터 그룹을 분리할 수 있다.
// 예시 코드 임, 동작안할수 있음.
// 'callbacktest1' 일때
var totcnt = xmlDoc.childElementCount; // 항목 개수 확인
var index = 0;
for(var i = 0;i< totcnt; i++){
if(xmlDoc.children[i].attributes.onAfterAction.value == "callbacktest1"){
index = i;
break;
}
}
// 데이터가 하나일때
$("#lable1").val($(xmlDoc).find('name1').eq(0),text();
$("#lable2").val($(xmlDoc).find('name2').eq(0),text();
$("#lable3").val($(xmlDoc).find('name3').eq(0),text();
// 'callbacktest2' 일때
for(var i = 0;i< totcnt; i++){
if(xmlDoc.children[i].attributes.onAfterAction.value == "callbacktest2"){
index = i;
break;
}
}
// 데이터가 하나이상일 때
// for Each 사용일때
$(xmlDoc.childrtn[index]).find('name4').forEach((number,i){
$("#lable"+i+"1").val($(xmlDoc).find('name1').eq(i),text();
$("#lable"+i+"2").val($(xmlDoc).find('name2').eq(i),text();
$("#lable"+i+"3").val($(xmlDoc).find('name3').eq(i),text();
});
// for 문 사용
for(vari=0;$(xmlDoc.children[index]).find("name1").siz();i++)
{
$("#lable"+i+"1").val($(xmlDoc.children[index]).find('name1').eq(i),text();
$("#lable"+i+"2").val($(xmlDoc.children[index]).find('name2').eq(i),text();
$("#lable"+i+"3").val($(xmlDoc.children[index]).find('name3').eq(i),text();
}
- xml 파싱시 주의점.
변수(?) 이름은 유니크하게 정해야 함. 안 그럼 나도 모르는 곳에서 잘못된 값이 표시됨.
반응형
'IT > 자바스크립트' 카테고리의 다른 글
[자바스크립트] JSTL (c태그)사용법 정리 (2) | 2023.06.16 |
---|---|
[JSP] 정규표현식 (ES6) (0) | 2023.06.09 |
JSTL 비교연산자(eq, ne, empty, not empty) 사용법 (0) | 2023.04.13 |
[자바 스크립트] text() 사용시 개행처리 (0) | 2023.04.06 |
jsp ajax로 https 에서 http 호출 (0) | 2023.03.09 |