var myForm = document.getElementById('myForm'); myForm.addEventListener('submit', ajaxcall, false); function ajaxcall(event) { event.preventDefault(); var output = document.getElementById('output'); var xhr = new XMLHttpRequest(); // ajax 객체 생성 // 이벤트 설정 xhr.onreadystatechange = function() { if (xhr.readyState === 4) { // 요청 완료 if (xhr.status === 200) { // 요청 성공 // 요성 성공시 처리 output.innerHTML = xhr.responseText; } else { // 요청 실패시 처리 output.innerHTML = "전송실패"; } } }; var url = "get1.php"; url = addURLParam(url, "mName", myForm.mName.value); url = addURLParam(url, "mJob", myForm.mJob.value); // get 방식 | 위에서 설정한 url과 true(비동기) 방식으로 오픈 xhr.open("get", url, true); xhr.send(); // 요청 전송 } // 쿼리스트링을 name, value 쌍으로 url에 추가 하는 함수 function addURLParam(url, name, value) { url += (url.indexOf("?") < 0) ? "?" : "&"; // 처음 등록시 ? 추가는 & url += encodeURIComponent(name) + "=" + encodeURIComponent(value); return url; }
<h3>XMLHttpRequest 객체 GET 연결</h3> <form id="myForm"> <p>이름 : <input type="text" name="mName" placeholder="이름" value="kiyong" required> </p> <p>직업 : <input type="text" name="mJob" placeholder="직업" value="프로그래머" required> </p> <button type="submit">GET방식 데이터 요청하기</button> </form> <hr> <p>전송받은 정보</p> <div id="output"></div>