Edit in JSFiddle

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) { // 요청 성공
        // text로 전달받아 출력
        output.innerHTML = xhr.responseText;
      } else {
        // 요청 실패시 처리
        output.innerHTML = "전송실패";
      }
    }
  };

  var param = "";
  param = addParam(param, "mName", myForm.mName.value);
  param = addParam(param, "mJob", myForm.mJob.value);

  // post 방식 | 연결할 url | 비동기 방식으로 오픈
  xhr.open("post", "post1.php", true);
  // 폼전송 방식으로 보낸다.
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  // 전송할 문자열을 매개변수로 보낸다.
  xhr.send(param); // 요청 전송
}

// post로 보낼 데이터를 name, value 쌍으로 연결한다.
function addParam(param, name, value) {
  param += (param === "") ? "" : "&"; // 처음 등록시 공백 추가는 &로 연결
  param += encodeURIComponent(name) + "=" + encodeURIComponent(value);
  return param;
}
<h3>XMLHttpRequest 객체 POST 연결</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">POST방식 데이터 요청하기</button>
</form>
<hr>
<p>전송받은 정보</p>
<div id="output"></div>