25 Sep 2013 You can get the correct object according to the browser with: function getXmlDoc() { var xmlDoc; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlDoc = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlDoc; } With the correct object, a GET might can be abstracted to: function myGet(url, callback) { var xmlDoc = getXmlDoc(); xmlDoc.open('GET', url, true); xmlDoc.onreadystatechange = function() { if (xmlDoc.readyState === 4 && xmlDoc.status === 200) { callback(xmlDoc); } } xmlDoc.send(); } and a POST to: function myPost(url, data, callback) { var xmlDoc = getXmlDoc(); xmlDoc.open('POST', url, true); xmlDoc.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlDoc.onreadystatechange = function() { if (xmlDoc.readyState === 4 && xmlDoc.status === 200) { callback(xmlDoc); } } xmlDoc.send(data); } Please enable JavaScript to view the comments powered by Disqus. comments powered by Disqus