본문 바로가기
jQuery

[기초] AJAX - 서버에 요청하기

by ethanjoh 2009. 7. 28.
AJAX - 서버에 요청 보내기


서버에 뒷단에서 요청을 보내기 위해서는 open()과 send() 메소드를 사용한다.

open() 메소드는 3개의 인수를 가진다. 첫 번째는 어떤 방식으로.(GET 또는 POST) 요청을 보낼 것인지에 대한 정의이다. 두 번째는 서버측 스크립트의 URL을 지정한다. 세 번째 인수는 비동기적으로 다뤄져야 하는지를 정한다.

send() 메소드는 서버에 요청을 보낸다. 만약 HTML과 PHP 파일이 같은 디렉토리에 있다고 한다면 코드는 아래와 같다.

xmlhttp.open("GET","time.php",true);
xmlhttp.send(null);

이제 언제 AJAX 함수를 실행할지 정해야 한다.

우리는 이 함수를 사용자가 "이름" 필드에 무언가 입력했을 때 뒷단에서 실행하게 할 것이다.

<form name="myForm">
이름: <input type="text" name="username" onkeyup="ajaxFunction();" />
시간: <input type="text" name="time" />
</form>

"testAjax.htm" 파일은 아래와 같이 바뀌었다.

<html>
<body>

<script type="text/javascript">
function ajaxFunction()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  alert("Your browser does not support XMLHTTP!");
  }
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
  {
  document.myForm.time.value=xmlhttp.responseText;
  }
}
xmlhttp.open("GET","time.php",true);
xmlhttp.send(null);
}
</script>

<form name="myForm">
이름: <input type="text" name="username" onkeyup="ajaxFunction();" />
시간: <input type="text" name="time" />
</form>

</body>
</html>

다음 장에서는 AJAX 응용프로그램을 완성할 "time.php" 스크립트를 만들어 보자.





'jQuery' 카테고리의 다른 글

[고급] AJAX 제시어 예제  (0) 2009.08.03
[기초] AJAX - 서버 측 스크립트  (0) 2009.07.28
[기초] AJAX - XMLHttpRequest 객체  (0) 2009.07.28
[기초] AJAX 브라우저 지원  (0) 2009.07.28
[기초] AJAX 예제  (0) 2009.07.28