Part 1 Ajax 개요 Chapter 1 Ajax 개념 1. 들어가기 전에 ... 13 2. Ajax란? ... 14 2.1 개발자 중심 패러다임 ... 15 2.2 소프트웨어 세계를 바꾸는 Ajax ... 16 접근의 용이성 ... 16 역동적인 웹 애플리케이션 ... 17 유려한 유저 인터페이스 ... 18 실시간 데이터 제공 ... 19 사용자 만족 ... 20 3. New Approach ... 20 4. Ajax가 주는 메시지 ... 22 5. Ajax 기술 ... 24 5.1 Ajax 구현 기술 ... 24 5.2 Ajax 요소 기술 ... 25 5.3 기술 표준과 W3C ... 27 6. Ajax 웹 애플리케이션 모델 ... 29 6.1 Ajax 모델의 형태 ... 29 6.2 Ajax 엔진 ... 32 6.3 Synchronous, Asynchronous ... 34 6.4 Ajax 모델과 MVC 패턴 ... 37 7. 사용자 중심 애플리케이션 ... 41 Chapter 2 Ajax 사례 1. 네이버 서제스트 ... 42 2. Google Suggest ... 45 3. Google Maps ... 48 Part 2 Ajax 기술 Chapter 3 Ajax 기술 개요 1. 애플리케이션 실행 환경 ... 52 클라이언트 사이드 ... 53 서버 사이드 ... 53 2. XHTML, CSS, DHTML ... 53 2.1 XHTML ... 54 2.2 XHTML 1.0 표준 ... 54 2.3 시맨틱 웹 ... 58 2.4 CSS ... 59 2.5 DHTML ... 63 DHTML 이벤트 핸들러 ... 66 DOM 이벤트 리스너 ... 67 3. XMLHttpRequest ... 68 4. XML, XLST ... 72 4.1 XML ... 72 4.2 XLST ... 75 5. DOM, Javascript ... 78 5.1 DOM ... 78 5.2 Javascript ... 83 Chapter 4 DOM 트리 접근 및 브라우저 출력 1. 브라우저 타입 대응 ... 87 1.1 브라우저 헤더 정보로 대응 ... 87 1.2 객체 존재 여부로 대응 ... 90 1.3 innerHTML ... 92 2. 구조적 접근 ... 93 2.1 버튼의 활성화, 비활성화 ... 93 2.2 DOM 트리 생성 및 삭제 ... 96 3. 유저 인터페이스 ... 102 Part 3 HTTP 통신 Chapter 5 XMLHttpRequest 1. 크로스 브라우저 ... 104 1.1 Internet Explorer ActiveXObject ... 105 1.2 Firefox XMLHttpRequest ... 110 1.3 크로스 브라우저 함수 정의 ... 114 2. XMLHttpRequest 흐름과 제어 ... 118 2.1 서버의 텍스트 파일 수신 ... 118 2.2 XMLHttpRequest 흐름 ... 121 2.3 XMLHttpRequest 제어 ... 124 2.4 개별 예외 처리 방법 ... 127 2.5 switch case 예외 처리 방법 ... 129 3. XMLHttpRequest 메서드 ... 131 3.1 abort() ... 131 3.2 getAllResponseHeaders() ... 133 3.3 getResponseHeader() ... 134 3.4 open() ... 136 3.5 send() ... 136 3.6 setRequestHeader() ... 137 4. XMLHttpRequest 프로퍼티 ... 138 4.1 onreadystatechange ... 138 4.2 readyState ... 140 4.3 responseText ... 140 4.4 responseXML ... 141 4.5 status ... 143 4.6 statusText ... 144 5. XMLHttpRequest 공용 라이브러리 정의 ... 144 5.1 공통 인수 추출 ... 144 5.2 공용 함수 작성 ... 147 Part 4 데이터 송수신 Chapter 6 텍스트, CSV 파일 수신 1. 한글 처리 ... 155 1.1 텍스트 파일의 한글 데이터 ... 155 1.2 UTF-8개요 ... 157 1.3 UTF-8과 한글 처리 ... 159 1.4 HTML의 한글 처리 ... 162 2. 텍스트 파일 수신 ... 165 2.1 우편번호 데이터 생성 ... 165 2.2 우편번호 텍스트 파일 수신 ... 168 2.3 데이터 분리 ... 169 2.4 한글 워드 문서 파일 수신 ... 172 3. CSV 파일 수신 ... 174 3.1 우편번호 CSV 데이터 생성 ... 174 3.2 우편번호 CSV 파일 수신 ... 175 Chapter 7 XML, JSON 파일 수신 1. HTML과 XML ... 178 2. XML 파일 수신 ... 181 2.1 XML 파일 수신 ... 181 2.2 XML과 DOM 트리 ... 187 2.3 우편번호 XML 파일 생성 ... 190 2.4 우편번호 XML 파일 수신 ... 191 2.5 엑셀로 만든 판매현황 출력 ... 200 3. JSON 파일 수신 ... 210 3.1 JSON 작성 방법 ... 210 3.2 우편번호 JSON 파일 수신 ... 212 Chapter 8 서버로 데이터 송신 1. GET 방법 ... 218 2. POST 방법 ... 219 3. Java 애플리케이션과 연동 ... 220 Part 5 Ajax 응용 Chapter 9 다이나믹 유저 인터페이스 1. 이벤트 리스너 ... 228 1.1 DOM 이벤트 타입 ... 228 1.2 이벤트 리스너 설정 ... 231 1.3 버블 방지 ... 235 2. 라디오 버튼 활용 ... 244 2.1 라디오 버튼 선택 ... 244 2.2 라디오 버튼과 서버 연동 ... 253 3. HTML 엘리먼트 생성 ... 258 3.1 SELECT, OPTION 생성 ... 258 3.2 설문조사 항목 생성 ... 264 3.3 설문조사 결과 출력 ... 276 3.4 실시간 설문조사 결과 출력 ... 285 4. 도움말 제공 ... 304 4.1 에러 메시지 ... 304 4.2 불투명 메시지 ... 316 5. 우편번호/주소 서제스트 ... 330 Part 6 Ajax 실전 Chapter 10 대체전표 입력 애플리케이션 1. 유스케이스 모델 ... 349 개요 및 목표 ... 350 선행 조건 ... 350 시작 이벤트 ... 350 모델 시나리오 ... 350 이벤트 처리 ... 51 예외 처리 ... 352 비즈니스 규칙 ... 352 2. 그림으로 보는 대체전표 입력 시나리오 ... 352 3. 대체 전표 디자인 ... 366 3.1 대체 전표 HTML ... 367 3.2 대체 전표 CSS ... 371 3.3 대체 전표 프로토타입 ... 375 3.4 개발용 대체 전표 HTML ... 378 4. 공통 항목 입력 ... 382 5. 계정 항목 입력 ... 394 6. 관리 항목 입력 ... 411 Appendix ... 426