순수 자바 script 의 ajax 는 phop 비동기 제출 폼 의 간단 한 인 스 턴 스 를 실현 합 니 다.

비동기 적 으로 양식 을 제출 해 야 할 때 가 많 습 니 다.양식 이 너무 많 을 때 getElement ById 가 비 현실 적 으로 변 합 니 다.
물론 jquery 는 비동기 제출 폼 을 실현 할 수 있 습 니 다.jquery.form.js 라 이브 러 리 도 유행 하 는 것 같 습 니 다.
다만 추가 라 이브 러 리 를 사용 하고 싶 지 않 을 때 가 있 기 때문에 자신 이 쓰 고 순수한 js 로 비동기 제출 양식 을 실현 하려 고 한다.
다음 실현(이 예 는 POST 방식 으로 제출 하고 php 를 서버 스 크 립 트 로 사용)
HTM L 파일:test

<html>
<head>
  <script type="text/javascript" src="name_form.js"></script>
</head>
<body>
  <form action="process.php" id="ajax_form">
    Username:<input type="text" name="username" id="username"/><br>
    <input type="button" onclick="submitForm('name_form')" value="Submit">
  </form>
  <div id="tip"></div>
</body>
</html>
JS 파일:nameform.js

function createXmlHttp() {
  var xmlHttp = null;
   
  try {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  } catch (e) {
    //IE
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
   
  return xmlHttp;
}
 
function submitForm(formId) {
  var xmlHttp = createXmlHttp();
  if(!xmlHttp) {
    alert("        AJAX!");
    return 0;
  }
  
  var url = 'test.php';
  var postData = "";
  postData = "username=" + document.getElementById('username').value;
  postData += "t=" + Math.random();
  
  xmlHttp.open("POST", url, true);
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.onreadystatechange = function() {
    if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
      if(xmlHttp.responseText == '1') {
        alert('post successed');
      }
    }
  }
  xmlHttp.send(postData);
}
PHP 파일:PHP 매 뉴 얼

<?php
  if(isset($_POST['username']) {
    echo '1';
  }
?>
위의 프로그램의 원 리 는 먼저 사용자 가 test.html 파일 에 사용자 이름 정 보 를 입력 한 다음 name 을 통 해form.js 파일 은 ajax 를 통 해 폼 을 제출 한 다음 phop 파일 에서 작업 합 니 다.여 기 는 사용자 이름 이 설정 되 었 는 지 여 부 를 판단 하 는 것 입 니 다.즉,사용자 이름 이 존재 하 는 지,존재 하 는 지 여 부 는 출력 1 입 니 다.또한 데이터 베 이 스 를 조작(증가,변경 등)한 다음 에 조작 결 과 를 판단 할 수 있 습 니 다.결과 가 진실 이면 1 을 출력 하고 js 파일 의 xmlHttp.responseText 에서 되 돌아 오 는 정 보 를 판단 할 수 있 습 니 다.출력 1 이기 때문에 판단 이 정확 합 니 다.이때 팝 업 알림 상 자 는'post suced'입 니 다.이렇게 해서 ajax 로 phop 비동기 제출 폼 을 성공 적 으로 실현 하 였 습 니 다.
주:php 파일 echo 이전에 출력 이 없 었 음 을 보증 해 야 aax 가 되 돌아 오 는 정 보 를 정확하게 얻 을 수 있 습 니 다.
이상 의 순수한 자 바스 크 립 트 의 aax 가 php 비동기 제출 폼 을 실현 하 는 간단 한 실례 는 바로 여러분 에 게 공 유 된 모든 내용 입 니 다.여러분 에 게 참고 가 될 수 있 고 여러분 들 이 저 희 를 많이 지지 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기