Passing Data to the server with POST using AJAX

Like using the GET query, data can also be send to the server using POST query.

Here's how.

choose_msg.php

<?php
if($_REQUEST["data"]=="1")
{
  echo "You sent the server a value of 1";
}
if($_REQUEST["data"]=="2")
{
  echo "You sent the server a value of 2";
}
?>

AJAX Code :

<html>
<head>
<title>An AJAX Demo</title>
<script language="javaScript">
var XMLHttpRequestObject=false;
if(window.XMLHttpRequest)
{
   XMLHttpRequestObject=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
   XMLHttpRequestObject=new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(dataSource,divID,data)
{
   if(XMLHttpRequestObject)
     {
        var obj=document.getElementById(divID);
            XMLHttpRequestObject.open("POST",dataSource);
            XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            XMLHttpRequestObject.onreadystatechange=function()
            {
              if(XMLHttpRequestObject.readyState==4 && XMLHttpRequestObject.status==200)
                {
                  obj.innerHTML=XMLHttpRequestObject.responseText;
              }
            }
            XMLHttpRequestObject.send("data="+data);
        }
}
</script>
</head>
<body>
<h2>Sending AJAX data with POST</h2>
<form>
<input type="button" value="Retrieve Message 1" onclick="getData('choose_msg.php','targetDiv',1)">
<input type="button" value="Retrieve Message 2" onclick="getData('choose_msg.php','targetDiv',2)">
</form>
<div id="targetDiv">
<p>The retrieved message will appear here</p>
</div>
</body>
</html>

Before executing the program :


Clicking on "Retrieve Message 1"


Clicking on "Retrieve Message 2"
 

Top