AJAX 2009.09 커머스아이 박준열.

Slides:



Advertisements
Similar presentations
전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원 발표일 :
Advertisements

9 주차 실습강의 학기, 소프트웨어 설계 및 실험 ( Ⅰ ). Artificial Intelligence Laboratory Open API  API(Application Programming Interface)  응용 프로그램에서 사용할 수 있도록.
프로젝트 제안서 날씨대로 기분대로 팀원 박효민 신준범 정민섭 안성원
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
W3000 제 품 제 안 서.
- SW_Desing Study Group -
제 1장 자바스크립트란 ?.
Introduction to Django
웹 페이지.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
Chapter14 위치 정보 & 모바일 HTML5 Programming.
웹 2.0 및 Ajax 개요.
1.1 뷰포트 일반 웹 페이지의 모바일 실행 결과 뷰포트(viewport)
JSON(JavaScript Object Notation)
AJAX 기본중의 기본 xmlhttprequest
실전 웹 표준 가이드 요약 XHTML & CSS.
웹 해킹 기초와 실습.
Python Bottle Web Framework
채팅 서버 만들기 10장 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03
2018..
2 서블릿의 기초.
1. JSP(Java Server Pages) 소개
10장. 에러 처리 제10장.
01. Index StarPlayer API Guide 01. Index 02. 상수값 정의 03. API 정의
5 익셉션 처리.
Chapter 04. 웹 보안 : 웹, 그 무한한 가능성과 함께 성장한 해킹
Web Server와 DB 연동.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
1. JSP(Java Server Pages) 소개
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
1강 01장. 웹과 자바.
ASP 정 보 보 호 학 과 양 계 탁.
HTML5 입문 인공지능 연구실.
Chapter 02 웹의 이해.
JavaScript.
REPORT DESIGNER5.0 FAQ.
인터넷 보안 정보 보안 개론 5장.
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
12 데이터베이스 사용하기.
인프라 업무 Portal 사이트 Archon 2.0 목 차 Ⅰ. Concept Ⅱ. SOA Ⅲ. Web
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Cookie 와 Session.
Html(front end) & jsp(back end)
JDBC (Java Database Connectivity)
9장 JSP페이지의 에러처리 이장에서 배울 내용 : JSP페이지에서 에러를 처리하는 방법에 대해 학습해본다. 에러페이지를 사용한 에러처리의 문제점을 살펴보고, 현재 JSP2.0에서 권장하는 에러 처리 형태인 에러코드별 에러처리를 하는 방법에 대해 학습한다.
Network Security WireShark를 활용한 프로토콜 분석 II.
진상현 노현철 박주호 김민구 이보라 박종빈 Ajax.
Web Socket.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
Open API - Naver (Application Programming Interface )
Endless Creation - 안 승례 -
Chapter11 웹 스토리지 & 웹 데이터베이스
JavaScript COOKIE Chapter 10 Part III
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
CGI (Common Gateway Interface)
SNS 로그인 API 연동 조휘제.
HTML CSS 자바스크립트 무작정 따라하기
Chapter13 파일 접근 & 오프라인 접근 HTML5 Programming.
CGI (Common Gateway Interface)
1장. HTML5 소개 To Flash 정보영재세미나 1 김태영교수님 홍창의.
Internet Computing KUT Youn-Hee Han
LOGIN할 때 아이디, 비번 입력 여부 체크하기
Spring Security 2015 Web Service Computing.
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
CHAPTER 6 도전! 트위터 웹 앱 개발 Jquery Mobile 5/28/2019.
웹 스크래핑.
AJAX Technology for Web2.0
머니투데이 메인 UI수정 Moneytoday.co.kr - 작성자 : 한정환 - 작성일 :
Ajax와 자바스크립트 라이브러리 발표자 : 경준호(파이어준) 이메일 :
Presentation transcript:

AJAX 2009.09 커머스아이 박준열

목차 Ajax 란? Javascript 방식 prototype 방식 JQuery 방식 jQuery vs Prototype 디버깅

(Asynchronous JavaScript and XML) Ajax 란? (Asynchronous JavaScript and XML) JavaScript, 통신객체( XMLHttpRequest ),통신 데이터(XML) 세 가지가 주요 구성 요소며, JavaScript를 통하여 웹서버에 비동기 통신으로 데이터를 송수신하여 웹에 반영해 주는 방식이다.

Ajax 란? 주로 사용 되는곳 연관검색 DB 접근이 많은 Web (Portal SITE) Drag & Drop 사용자 요청 없이 변화 하는 UI 구성 Client JSON HTML or JSP (javascript) jquery WEB Servser DB 접속 및 결과 탐색 결과로 XML 파일 생성 *.java *.XML 5 분 주기로 생성 DB S전기사 에서 사용한 예로 DB 에 접근하여 결과를 가져오는데 Client는15s~20s의 시간이 소요되었으나 Ajax(jquery)를 사용하여 Client는 브라우저가 XML 파일(5분주기로 생성)을 해석하는 2s~3s 의 시간으로 web page 속도를 개선하였다.

JavaScript 방식 코드 영문 한글성명 Uninitialized 초기화 되어 있지 않음 1 Loading 아직 send 호출 않음 2 Loaded Send불렀지만 header미도착 3 Interactive Data 일부 받음 4 completed Data 전부 받음 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Simple XMLHttpRequest</title>     <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() {     if (window.ActiveXObject) {         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");     }     else if (window.XMLHttpRequest) {         xmlHttp = new XMLHttpRequest();     } }     function startRequest() {     createXMLHttpRequest();     xmlHttp.onreadystatechange = handleStateChange;     xmlHttp.open("GET", "simpleResponse.xml", true);     xmlHttp.send(null); }     function handleStateChange() {     if(xmlHttp.readyState == 4) {         if(xmlHttp.status == 200) {             alert("The server replied with: " + xmlHttp.responseText);         }     } } </script> </head> <body>     <form action="#">         <input type="button" value="Start Basic Asynchronous Request" onclick="startRequest();"/>     </form> </body> </html> XML engine인 xmlhttprequest 객체 생성 여기서 각각의 브라우저마다 DOM 객체의 작동 방법이 다르기 때문에 설정해줌 http 상태 코드 설명 200 OK 요청 성공 401 Unauthorized 권한 없음 403 Forbidden 접근 거부 404 Not Found 요청 리소스 없음 500 Internal Server Error 서버내부 오류 자바스크립트 콜백 함수 readstate 값이 변할 때 마다 호출 된다. 요청을 초기화 하고 HTTP메소드 및 URL 등을 설정하는 메소드 요청방식 Method : GET/POST POST : 파라미터로 값 전달 Ex) xmlhttp.open(“POST”,”Http://www.myweb.net/”) Send(userid=“user01”&userPw=“123”) GET : 메소드 인자로 값 넘김 Ex)xmlhttp.open(“GET”,http://www.myweb.net/,true,id,pw) send(null); URL : 요청 대상 URL 읽어올 xml 파일의 위치나 대상 url Async( 옵션): 비동기 (true) , 동기 (false) default : true 위에서 설정된 요청을 송신하는 메소드

Prototype 방식 <script src="prototype.js" type="text/javascript"></script> <script type="text/javascript"> function ajaxLoadDivRequest() {  var strResponseURL = 'sample.json'; //읽어올 data 나 URL 설정  var httpObj = new Ajax.Request   ( //XMLHTTPRequest 객체 생성         strResponseURL, {     method:'get', //메소드 방식     onSuccess:function (responseHttpObj) {      var returnData = responseHttpObj.responseText.evalJSON();// Ajax 요청이 성공 하였을 경우 json 형태의 데이터를     $('ajaxsample2').innerHTML = returnData.result; //httpObj형테로 바꾸어서 변수에 넣어준다     $('ajaxsample').innerHTML = returnData.message; //json파일에 있는 키 값을 기준으로 데이터를 얻어와서    }, //html tag id 값에 맞게 맵핑 시켜 주는 과정    onFailure:displayError   }     ); } function displayError(){     $('ajaxsample').innerHTML = ('AJAX failed');    } </script> </HEAD> <BODY> <br /><br /><br /><br /><center> <h4> Web2dong Ajax 테스트 </h4> <input type='button' value='BUTTON A' onClick='ajaxLoadDivRequest();'> <br /><br /> <div id='ajaxsample'>Ajax 결과가 나타납니다.</div> <br /><br /> <div id='ajaxsample2'>Ajax 결과가 나타납니다.</div> </center> </BODY> </HTML> Sample.json {     "result":"JSON 결과입니다.",     "message":"JSON 의 세계에 오신걸 환영합니다." }

Jquery 방식 <script type="text/javascript" src="xml2json.js"></script> <script type="text/javascript" src=“jquery.js"></script>//라이브러리를 다운받어 import <script type="text/javascript"> $(document).read(function(){    // 브라우저 요청시 바로 자바스크립트 호출 메소드 $.ajax({      //ajax 통신을 위한 기본 셋팅          url : //서버의 URL 주소,          type : 'GET', //데이터 저장 방식          dataType : (jQuery.browser.msie) ? "xml" : "XML", // 읽는 데이터 파일은 xml 이고 XML 라는 변수에 넣는다는 말     error : function(){          alert('xml 파일을 읽어 올 수 없습니다 ');  // XML 읽기 실패 시 호출 }, success : function(XML){       var data ;       if(typeof XML == 'string'){            data  = new ActiveXObject('Microsoft.XMLDOM'); // ie 에서 XML 띄워주기 위해서는 마이크로 XMLDom으로            data.async = false;                                            // 바꿔서 싱크 시켜 주어야 함 .            data.loadXML(XML);       }else {                 data = XML; } var json = $.xml2json(data);   // XML 방식보다 접근하기 쉬운 json 으로 데이터 변환 jquery 플러그인 사용                                           //ie 형태에 맡는 json data 를 json 이라는 변수에 json 형태로 넣음 // xml2json.js : XML -> JSON 파싱 , json2xml.js : JSON -> XML 파싱 ////////////////////////////////////////////////////HTML 에 뿌려주는 과정 //$(json.'tagname') 으로 데이터에 접근 하여 사용 $(json.Location).each(function(i){// 반복문 (XML 에 Location 태그 안에 Desc란 TAG를 가지고 있다)      var Location = json.Location.Desc[i] ; //XML 태그 네임에 맞는 값을 변수에 저장 시킨다 . } $(#table).append("XML 값 넣기 : " +Location); // jquery 로 읽은 데이터값 HTML tag id 값으로 셀렉터 하여 값을 넣는다. HTML tag ID

Ex) var httpObj = new Ajax.Request JQuery VS Prototype Prototype.js JQuery.js 기존의 javaScript 기반의 객체 들을 Prototype-based-inheritance 를 통해서 기능을 확장 시키거나 기능별로 객체들을 구현해 놓았다 (Element,Class,Ajax)등이 있다. Ex)  var httpObj = new Ajax.Request jQuery 라는 객체를 생성하고 그 객체로 DOM 객체 핸들링 부터 Ajax 통신 까지 수행한다. Ex) jQuery.browser.msie 차이점 1. 스크립트를 명시화 해서 개발할 수 있다. (기능 객체들이 따로 호출가능)  2. 한글화 문서나 예제 소스가 많다. 3. 확장이 어렵다. 4. 소스 용량이 커서 무거울 것이라는 편견이 있으나 무겁지는 않다. (용량차이 20kb) 1. 개발속도가 빠르고 쉽다. 2. 문서나 예제가 영문으로 문서가 많다 3. 플러그 인 형태를 통한 확장 이 쉽다. 4. 소스 용량이 작다. 특징

디버깅 Ie8 개발자 도구 Firefox firebug 특별한 디버깅 툴을 가지고 있지 않다. 이유) client 브러우저 단에서 코드가 해석되기 때문에 컴파일 된 내용을 검사하기도 어려울 뿐만 아니라 아니라 변화하는 XML 파일 내용을 검사 할 수가 없다. 하지만 이러한 코드를 도와주는 기능이 있다 firefox의 fiebug 와 ie8에서 개발자 도구가 있다 단추키 f12번 주로 XML 파일이 정상적으로 값이 넘어 오는 지와 자바스크립트 오류 구문을 잡아주는 역할을 할 수 있다. Ie8 개발자 도구 Firefox firebug