[기타묻고답하기 이용안내]

//서버에 XML관련 데이터보내는 함수
function sendXMLFormData(argFormData)
{
 xmlHttp.open("POST", "/comm/responseCodeXML.jsp", false);
 xmlHttp.onreadystatechange = callBack;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

 xmlHttp.send(argFormData);
}

//서버응답 콜백함수
function callBack()
{
 if(xmlHttp.readyState == 4)
 {
  if(xmlHttp.status == 200)
  {

   var xmlDoc = xmlHttp.responseXML;
   gradeListNode = xmlDoc.documentElement; //루트(codeList)노드
   gradeNode = gradeListNode.firstChild; //codes노드

   for(i=0; i<gradeListNode.childNodes.length; i++)
   {
    codeNode = gradeNode.firstChild; //첫번째노드
    codeValue =  codeNode.firstChild.nodeValue

    nameNode = codeNode.nextSibling; //동일레벨에서의 다음노드
    nameValue =  nameNode.firstChild.nodeValue

    makeSelectOption(codeValue, nameValue);

    gradeNode = gradeNode.nextSibling; //다음 code노드
   }
  }
 }
}

 

 

 

 

 

 

 

 

 

------------------------

 

익스플로러에서는

var xmlDoc = xmlHttp.responseXML;
이게 잘 들어와요

 

근데 크롬에서는 null이 뜨네요... 아시는분 계실까요..?

한가닥 희망이라도 걸어봅니다.

플리즈~~ ㅠ

엮인글 :

나우수

2010.12.30 15:49:52
*.236.3.225

 if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 에서 사용
        xmlhttp=new XMLHttpRequest();
    } else { // IE6, IE5 에서 사용
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

나우수

2010.12.30 15:54:23
*.236.3.225

아주 간단하게만 말씀드린것이고, ajax 사용을위한 XHR 객체를 얻어오는 방법은 크게

ie7이하 버전, ie8버전, 그외 브라우져  방식으로 나뉩니다.  헝글에 질문하지 마시고 구글링을 해보시면

 

정말 쉽게 나올 내용들이구요..   요즘엔 자바스크립트 라이브러리가 대중화 되어있기때문에 XHR 객체를

저런식으로 직접 생성해서 가져다 쓰는 경우도 드뭅니다.

 

쉽게 ajax를 사용할수 있도록 도와주는 라이브러리로는 요즘 가장 주목받는 jQuery 가 있고. 그 외에 prototype.js 나

DWR 등이 있습니다. 이기회에 공부하여 적용해 보시면  아주 쉽게 ajax 사용이 가능합니다.

나우수

2010.12.30 15:56:35
*.236.3.225

첫번쨰 소스 보단 이게 조금 낫겠습니다.

 

var request = null;

function createRequest(){

   try{

request = new XMLHttpRequest(); // 요청객체를 XMLHttpRequest로 생성한다.

}catch(trymicrosoft){  //익스플로러 인가 여부를 판단해서 그에 맞는 객체를 생성한다.

try{

request = new ActiveXObject("Msxm12.XMLHTTP");

}catch(othermicrosoft){

try{

request=new ActiveXObject("Microsoft.XMLHTTP");

}catch(failed){

request = null;

}

}

}

if(request == null){

alert("Error creating request object!");

}

}

 

사실 이것보다도 더 자세히 정의하셔야 합니다.

보솜이

2010.12.30 16:07:12
*.241.100.106

답변 감사합니다.

허나.. 그부분은 제가 글내용에 안썼을뿐 소스에 이미 정의되어있습니다.

폭풍검색해보니 읽어오는 파일이 xml 형식이라고 정의를 해줘야한다는데

정의를 해줘도 마찬가지라서 아직 해결이 안됬어요.

하 뭐 다른 이유는 없을까요 ㅠ

나우수

2010.12.30 16:23:29
*.236.3.225

제가 질문을 잘못 봤군요 객체 생성이 아니라 응답에 관한 질문이었네요

 

파이어폭스계열은 xml 파싱하는 방법이 틀립니다.

 

간단하게 해결하는 방법으로는.

 

01 var xmlDom = null;

02 var xmlHttp = null;
03 if (window.XMLHttpRequest)
04 {
05     xmlHttp = new XMLHttpRequest();
06 }
07 else
08 {
09     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
10 }
11 xmlhttp.open("get", filename, false);
12 xmlhttp.send("");

13

xmldom = xmlHttp.responseXML;

나우수

2010.12.30 16:24:39
*.236.3.225

혹은 아예 selectNode를 사용할수 있게 재정의 하는 방법이 있습니다(링크참조)

http://www.mungchung.com/xe/?mid=protip&listStyle=gallery&category=3007&document_srl=12694

 구글에서 파폭 responseXML같은 식으로 검색해보시면 관련 자료가 많이 있습니다.

나우수

2010.12.30 16:28:22
*.236.3.225

좀더 근본적인 해결법은 데이터타입으로 XML을 사용하지마시고, json 형식으로 사용시면다면 브라우저등의 관계없이 좀더 편리하게 데이터를 처리할 수 있습니다.  이역시, jQuery 등의 라이브러리를 사용하시면 더욱 간편해 집니다..

ㅇㅇ

2010.12.30 18:08:32
*.221.134.210

책에서 잠깐 읽어보고 지나간코드라 정확한 답변은 못드리겠지만 초창기 코드같네요..

 

jquery ajax부분만 잠깐 읽어보시고 적용하시면 그런 골치아픈 문제는 신경쓰지 않아도 될듯하네요..

슭훗

2010.12.30 18:16:50
*.226.112.1

글을 늦게 봤네요. jqeury 추천합니다.


시간나시면 책한권 사시거나 구글링을 통해서 한번 써보세요. 자바스크립트를 사용하는 개발자라면


이제 유용한정도가 아니라 필수 라이브러리라고 생각하는 1인.



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 [기타묻고답하기 게시판 이용안내] [1] Rider 2017-03-14 54275
» 여기 개발자분들 계시죠? [9] 보솜이 2010-12-30 1602
4013 작은 선물 추천받아요 [8] 샤방샤방 ㅋㅋ 2010-12-30 747
4012 헝글 가입했을때 번호요~ [2] 아쿵 2010-12-30 652
4011 속도위반 법칙금 질문.. [12] 빵먹고힘내요 2010-12-30 1769
4010 렉스턴 요즘 반값 할부 하던데... [3] 아오키! 2010-12-30 1491
4009 1월 1일 해돋이 추천 부탁드려요 [6] 해돋이 2010-12-30 738
4008 12월 31일 서울 [3] ㅁㄴㅇㄹ 2010-12-30 754
4007 지금 혹시 뉴욕에서 거주하고 계신분있나요?? [2] May_859757 2010-12-30 539
4006 대형 차량 보유자 자녀 보육료 지원 제한 잘아시는 분~??? [4] 가장 2010-12-30 905
4005 죽인다고 협박 당해본적 있으세요??????????? [4] 11 2010-12-30 1278
4004 캐나다에서 장비 사올때 [8] 동풍낙엽. 2010-12-30 975
4003 꼬리뼈 빨리 낫는 비법 좀 공유해주세요ㅠ [6] 2Fast 2010-12-30 699
4002 "부금" 이란말이 무슨 뜻인가요? [6] 2010-12-30 4321
4001 시계 가죽 밴드 추천해주세요. [2] hare 2010-12-30 1107
4000 원두커피 가루 방향제 사용하려고 할때 [2] 독거 2010-12-30 2206
3999 양지리조트 다니시는 분들 [1] 2010-12-30 515
3998 요즘 차량이 맘에 안드신다고 하시는 분들에게 궁금합니다~ ㅎ [18] 카레맛지티 2010-12-30 1235
3997 OUTLOOK 2007 에서 프린트 하기 [2] outlook 2010-12-30 1520
3996 혹시 GMT Master II 차고 계신 분 있으신가요?? [1] 오빠비싸다 2010-12-30 532
3995 학동에 록시 매장 전화번호좀 알수있을까요?? [1] 급질급질 2010-12-30 669