I made a thread recently about converting GET to POST requests in AJAX. See here:
http://www.phpfreaks.com/forums/index.php/topic,288125.0.htmlIt looks like you have a few problems:
1. You need to use the equal sign in your params variable:
var param = "adminusername" + document.getElementById('adminusername').value;
should be:
var param = "adminusername=" + document.getElementById('adminusername').value;
2. You need to send the appropriate header information when performing a POST:
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
3. You need to create the params variable EARLIER than what you are doing. Otherwise the params.length is not going to make any sense.
4. I don't think the sending of the params should go inside of the function
So I would think this should work:
function updateUsers() {
var req=getUserList();
var param = "adminusername=" + document.getElementById('adminusername').value;
if (req.readyState == 4 || req.readyState == 0) {
req.open("POST", 'getUser_List.php', true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", params.length);
req.setRequestHeader("Connection", "close");
req.onreadystatechange = function() {
if(req.readyState==4) {
var user_div = document.getElementById('user_list'); var xmldoc = req.responseXML;
var message_nodes = xmldoc.getElementsByTagName("users"); var n_messages = message_nodes.length
user_div.innerHTML = '';
for (i = 0; i < n_messages; i++) {
var user_node = message_nodes[i].getElementsByTagName("user");
user_div.innerHTML += user_node[0].firstChild.nodeValue + '<br />';
}
var updateInterval=setInterval(updateUsers, 4000);
}
}
req.send(param);
}
}
Personally, I don't like to define the anonymous function like you do. It makes things unreadable if you ask me (I won't get into the flame war about where to place curly braces either

). But I think that the stuff above will work. If not...it's at least a few steps closer to working. Let me know the outcome.