문준영
새벽 코딩
문준영
전체 방문자
오늘
어제
  • 분류 전체보기
    • 웹 개발
    • JAVA
      • 기본 문법 내용 정리
      • 함수 내용 정리
      • 쉽게 배우는 자바 프로그래밍 문제 풀이
    • HTML
      • HTML
      • CSS
      • 문제풀이
    • JavaScript
    • MYSQL
    • C
      • 기본 문법 내용 정리
      • 백준 알고리즘 (c언어)
      • 자료구조
    • Python
      • 참고 알고리즘
      • 기본 문법 내용 정리
      • 자료구조 내용 정리
      • 백준 알고리즘 (파이썬)
    • 깃허브
    • 멀티잇 풀스택

티스토리

hELLO · Designed By 정상우.
문준영

새벽 코딩

멀티잇 풀스택

8 week_4 Ajax

2023. 2. 8. 17:15
Ajax

자바스크립트를 이용하여 서버와 웹 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 기술

 

비동기 방식 : 웹 페이지를 reload하지 않고 데이터를 불러오는 방식으로 필요한 부분만을 사용할 수 있는 장점이 있다.

 

사용 이유 : JSON이나 XML 형태로 필요한 데이터만을 가져오기 때문에 효율적이기 때문

장점 : 웹 페이지 속도 향상 및 서버의 처리가 완료될 때까지 기다리지 않고 처리가 가능(비동기)
단점 : 히스토리 관리가 안돼서 보안에 약하다

 

 

Ajax 진행 과정

1. XMLHttpRequest Object를 만든다.

  • request를 보낼 준비를 브라우저에게 시키는 과정
  • 이것을 위해서 필요한 method를 갖춘 object가 필요함

2. callback 함수를 만든다.

  • 서버에서 response가 왔을 때 실행시키는 함수
  • HTML 페이지를 업데이트 함

3. Open a request

  • 서버에서 response가 왔을 때 실행시키는 함수
  • HTML 페이지를 업데이트 함

4. send the request

 

 

기본 Ajax의 구조
$.ajax({
      url: www.tistory.com // $(form).attr("action")
      ,async: false // false 는 동기, true 는 비동기
      ,type: get // $(form).attr('method')
      ,data: { "param1" : "A" , "param2" : "B" } // $(form).serialize()
      ,dataType: jSon
	  ,success: function() {
       //.. 성공 시
      } 
      ,error: function(request, status, error) 
       // .. 실패 시
      {}  
    })
  • url : ajax 에서 이동하여 데이터를 get/set 할 URL 주소. 폼으로 받을 경우 action의 값을 셋팅한다.
  • async: true 비동기, false 동기
  • type: get 인지 post 인지 셋팅한다. 폼으로 받을 경우 method의 값을 셋팅한다.
  •  data: url에 파라메터로 넘겨줄 data 를 JASON 구조로 셋팅한다.
    • form 에 데이터가 있을 경우 .serialize() 를 사용 편리하다. form 데이터를 json 구조로 병렬화 시켜준다.
$value = $(form).serialize(); // ex)
  • dataType: 리턴 받을 값의 데이터 구조. jSon , text 등 사용 가능
  • sucess: Ajax 가 성공했을 경우 후처리 function
  • error: Ajax 가 실패했을 경우 후처리 function

 

 

 

Ajax 관련 메서드
메서드 의미
 load()   외부 콘텐츠를 가져올 때 사용 
 $.ajax()   데이터를 서버에 POST, GET 방식으로 전송이 가능하며, HTML, XML JSON, 텍스트 유형에 데이터를 요청할 수 있는 통합적인 메서드 
 $.post()   데이터를 서버에 POST 방식으로 전송한 후 서버 측의 응답을 받을 때 사용 
 $.get()   데이터를 서버에 GET 방식으로 전송한 후 서버 측의 응답을 받을 때 사용 
 $.getJSON()   데이터를 서버에 GET 방식으로 전송한 후 서버 측의 응답을 JSON 형식으로 받을 때 사용  
 .getScript()   Ajax를 이용하여 외부 자바스크립트를 불러올 때 사용 
 .ajaxStop(function(){ ... })  비동기 방식으로 서버에 응답 요청이 완료되었을 때 함수에 실행문이 수행 
 .ajaxSuccess(function(){ ... })   ajax 요청이 성공적으로 완료되면 함수에 실행문을 수행 
 ajaxComplete(function() { ... })  Ajax 통신이 완료되면 함수에 실행문을 실행 
 serializeArray()  JSON 데이터로 변환하여 액션 페이지에 전송 
 serialize()   쿼리 스트링 형식의 데이터로 변환하여 액션 페이지에 전송 방식 

 

$.ajax() 메서드 옵션 종류
메서드 의미 
 async   통신을 동기 또는 비동기 방식으로 설정하는 옵션. 기본값은 true 
 beforeSend   요청하기 전에 함수를 실행하는 이벤트 핸들러 
 cache   요청한 페이지를 캐시에 저장할지 여부 설정. 기본값은 true 
 complete   Ajax가 완료되었을 때 함수를 실행하는 이벤트 핸들러
 contentType  서버로 전송시킬 데이터의 content-type을 설정 
 data    서버로 전송할 데이터를 지정 
 dataType   서버에서 요청 받아올 데이터의 형식을 지정(생략하면 요청한 자료에 맞게 자동으로 형식이 지정 됨)
 error   통신에 문제가 발생했을 때 함수를 실행 
 success  Ajax로 통신이 정상적으로 이뤄지면 함수를 실행 
 timeout   통신 시간을 제한. 시간 단위는 밀리 초 
 type   데이터를 전송할 때 방식(get/post)를 설정
 url    데이터를 전송할 페이지를 설정. 기본값은 현재 페이지 
 username    HTTP 엑세스를 할 때 인증이 필요할 경우 사용자 이름을 지정 

'멀티잇 풀스택' 카테고리의 다른 글

8 week_6 MVC 패턴  (0) 2023.02.10
8 week_5 JDBC  (0) 2023.02.09
8 week_3 Java_HashMap  (0) 2023.02.08
8 week_2 JSP  (0) 2023.02.07
8 week_1 Servlet  (0) 2023.02.06
    '멀티잇 풀스택' 카테고리의 다른 글
    • 8 week_6 MVC 패턴
    • 8 week_5 JDBC
    • 8 week_3 Java_HashMap
    • 8 week_2 JSP
    문준영
    문준영
    공부한 내용 정리!

    티스토리툴바