배운 내용
- jQuery 활용 Ajax(JSON, XML, JSP)
1. jQuery를 활용한 Ajax
jQuery를 활용하여 Ajax를 보다 편리하게 이용할 수 있다.
커맨드 종류
load 함수
- 비동기 방식으로 특정 위치에 있는 파일의 객체 또는 문서를 불러올 수 있는 Ajax 메소드이다.
- 서버에서 데이터를 읽은 후, 읽어 들인 HTML 코드를 선택한 요소에 배치한다.
get 함수
- get함수는 데이터 값이 없을 때 사용하며 전달받은 주소로 GET 방식의 HTTP 요청을 전송한다.
post 함수
- 전달받은 주소로 POST 방식의 HTTP 요청을 전송함.
getJSON 함수
- 전달받은 주소로 GET 방식의 HTTP 요청을 전송하여, 응답으로 JSON 파일을 전송받음.
load 예제
load 예제
- letter-a 의 a를 클릭하면 dictionary가 숨겨지고 load 함수를 사용하여 a.html의 데이터를 불러오고 function을 사용하여 클릭한 this에 대해 fadeIn()을 하면 천천히 나타난다.
get 예제
get 예제 1
- get으로 d.xml파일을 불러오고 dictionary의 값을 비운다.
다음 data 중에서 entry를 찾아 each로 각각 적용시킨다. - $entry로 entry를 클릭한 this를 선언하고 html에 entry 클래스를 선언하고 각 class별로 attr을 사용하여 term, part의 속성값을 추가한다.
(여기서 attr은 요소(element)의 속성(attribute)의 값을 가져오거나 속성을 추가합니다.) - append를 이용하여 html을 dictionary뒤에 추가한다.
get 예제 2
- jsp파일을 불러오는 예제이다. 선택한 term의 text가 출력된다.
- Key와 value값을 가지고 있다.
getScript예제
getScript 예제
- JavaScript의 파일을 불러오는 역할을 한다.
getJSON 예제
getJSON 예제
- getJSON은 JSON 데이터를 불러들이는 역할을 한다.
- 각각의 data를 html에 선언하고 출력한다.
Ajax예제
ajax 예제
- ajax 함수는 비동기식 Ajax를 이용하여 HTTP 요청을 전송한다.
- Key와 Value값으로 이루어져 있다.
- url : 클라이언트가 HTTP 요청을 보낼 서버의 URL 주소
type : HTTP 요청과 함께 서버로 보낼 데이터
dataType : 서버에서 보내줄 데이터 타입
type : 서버에서 보낼 타입 - serialize()는 데이터를 보내기 위해 폼 요소 집합을 문자열로 인코딩을 자동으로 해준다.
때문에 data를 선택된 form을 serialize해서 출력한다. - ajax 함수 안에 success를 선언하기도 하지만 가독성을 높이기 위해 변수만 선언해주고 해당 변수의 함수는 밖에서 처리한다.
자동 계산 페이지 예제
계산 페이지 예제
- change는 input값을 바꾸면 실행되는 함수이다. 저기에 총 금액과 총 개수를 두어 input값이 변하면 변할 수 있도록 선언하였다.
- tr의 price의 값을 꺼내주고 문자열을 제외하고 소숫점 포함 출력을 위하여 parseFloat로 형변환을 한다. 그리고 정규표현식을 사용하여 출력한다.
삼항연산자를 통하여 안전검사를 한 번 해준다. - input값을 출력하는데 parstInt로 형변환을 하고 val()을 통하여 value값이 있으면 출력하도록 한다. 동일하게 삼항연산자를 통하여 안전검사를 해준다.
- 가격 책정을 price와 quantity를 곱하면 되고 text로 소숫점 2자리 까지 나타낸다.
- 총 가격과 총 개수는 cost를 계속 더한 값, quantity를 계속 더한 값이 되겠고 이는 각 quantity, cost 클래스에 text로 나타내주면 되겠다.
'KOSTA' 카테고리의 다른 글
KOSTA 교육 (JSP, WS, WAS,Container, Servlet) (0) | 2021.03.29 |
---|---|
KOSTA 교육(jQuery UI, Plug-in, Project) (0) | 2021.03.26 |
KOSTA 교육(JQuery, 선택자, function, array, event, style, animate, DOM) (0) | 2021.03.25 |
KOSTA 교육 (This, Window, DOM, AJAX, JQuery) (0) | 2021.03.24 |
KOSTA 교육(내장객체, Array, String, Date, 정규표현식, 이벤트) (0) | 2021.03.19 |