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

//서버에 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
번호 제목 글쓴이 날짜sort 조회 수
공지 [기타묻고답하기 게시판 이용안내] [1] Rider 2017-03-14 54913
4045 the house 직구 결재관련... [3] bonbon 2018-10-24 483
4044 장갑 안에 핫팩 [6] Ellumi 2018-10-24 718
4043 요즘 알리 배송이 왜 이렇게 느리죠? [7] 알뤼 2018-10-24 545
4042 학동 샵에 올해 신상 의류를 다 나왔을까요? [8] 벌써4년 2018-10-24 641
4041 일본으로 데크를보내야하는데.. 만이" 2018-10-24 402
4040 여자골프화질문입니다 [10] darling 2018-10-24 808
4039 2018 고아웃캠프 가을에는 안하나요? 아시는분~~~~ [1] 궁금이 2018-10-24 316
4038 짭 크롬캐스트 추천해주세여 충주보더 2018-10-25 313
4037 신한마이카 이용해보신분께 질문... [6] 2018-10-25 941
4036 거칠고 돌가루 많은 바닥에서 쓰는 롱보드 바퀴가 따로 있나요?? file [1] 잘알지도못함서 2018-10-25 603
4035 전철역에서 가장 가까운 샾 오디? [7] 뽀루꾸힐턴 2018-10-25 642
4034 급질문(부평구청 쪽에서 강남 한티역까지 자차 출근할만 할까요?) [12] 디오게네스 2018-10-25 787
4033 윈터(스노우)타이어 중고구매? [13] silentnight 2018-10-26 972
4032 유튜브 티비로 보려면요....? [4] 초보 2018-10-26 974
4031 트라이던트와 잘어울리는 [4] 하늘위에스... 2018-10-27 490
4030 갤럭시 상단 아이콘 좀 알려주세요 [1] 럭시 2018-10-27 445
4029 고글 직구시 [8] 노가리밥줘 2018-10-27 731
4028 이 낚시대의 제품명 및 스펙아시는분 계신가요 ? [4] 에트라마디... 2018-10-28 584
4027 플라이트덱 헬멧사용시 [4] 뽀루꾸힐턴 2018-10-28 636
4026 과일식초 따뜻한 물에 희석해 먹어도 되나요 [1] dfsf 2018-10-29 807