본문 바로가기

   
Programming/Ajax

Ajax open, send 메소드, get, post 의미

반응형

Ajax open, send  메소드, get, post 의미

Ajax open()

open() 메소드의 역활은 요청을 초기화, HTTP 메소드 및 URL을 설정 하는 역활을 한다.

예시

    request = createHttpRequest(); //XMLHttpRequest 오브젝트 생성한 함수를 request 변수에 담는다.

 

    //open메소드 첫번째 값은 GET 방식이냐? 아니면 POST 방식이냐를 지정한다

    //html <form></form> 에서 전송 하는 타입

    //open메소드 두번째는 같은 도메인에서 해당 값을 블러내

    request.open("GET","/test.xml"); //.으로 open 메소드 접근한다.


Ajax에 open()메소드는 세번째 인자는 기본적으로 설정을 하지 않는다면 비동기로 설정된다.





Ajax send()

Ajax open메소드를 통해 접속을 초기화 한뒤에 send()메소드를 통해 요청을 보내야 한다. 인수는 1개만 보낸다.


각 브라우져에서 오류 없이 전송하기 위해서 가장 적절한 방법은 아래와같은형 태로 보내는게 가장 안적적입니다.


request.send("");





Ajax GET / POST

웹에서 데이타를 보내는 방법은 2가지 입니다. get방식으로 데이터를 서버에 보낼것인지 post 방식으로 보낼것인지 Ajax에서 get 방식으로 데이터를 넘길때는 다음과 같이 표현한다.


GET

예시

//get으로 전송시엔 물음표 뒤에 이름과 값을 넣는다 & 표시는 다른 값을 추가하고자 할때 사용

    request.open("GET", "/test.php?value=페이지&check=게시판");

    request.send("");


HTML에서 form 전송시에 서버에선 자동으로 인코딩 처리를 해주어 인코딩을 신경 쓰지 않아도 되지만 XMLHttpRequest에서는 자동으로 해주지 않는다.

인코딩 형식이 맞지 않으면 영어는 문제 없으나 한글은 글자가 깨지기 때문에 인코딩 처리를 해주어야 한다.


예시

<script type="text/javascript">

    //encodeURIComponent = ecma 표준 URL 인코딩 메소드 문자를 UTF-8 인코딩 처리

    var value = encodeURIComponent("페이지");

    var check = encodeURIComponent("게시판");

   

    //setRequestHeader HTTP 요청 헤더를 작성

    request.setRequestHeader("Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8");

    request.open("GET", "/test.php?value="+value + "check=" + check);

    request.send("");

</script>




post

예시

request.open("POST", "/test.php");

    request.send("value=페이지&check=게시판");




반응형