Latest: Simple AJAX Example JavaScript Source Listing // Simple AJAX routine, based on AjaMyAjax.com core js library // JavaScript example on how to call: // var showXMLFile = function() { // $('http://ajamyajax.com/phonegap.xml', 'containerID'); // } var $ = function(url, container) { // two arguments: your file and the div or span tag var myAjax = new SimpleAjax(); myAjax.ajaxRequest(url, container); myAjax = null; } var SimpleAjax = function() { // main ajaxRequest, processResponse, getXmlNodeText only this.ajaxRequest = function(url, container) { var xhrRequest = null; var async = true; if (window.XMLHttpRequest) { xhrRequest = new XMLHttpRequest(); } else if(window.ActiveXObject) { xhrRequest = new ActiveXObject("Msxml2.XMLHTTP"); if (!xhrRequest) { xhrRequest = new ActiveXObject("Microsoft.XMLHTTP"); } } if (!xhrRequest) { alert("Sorry, browser does not support XMLHttpRequest"); return; } xhrRequest.open("GET", url, async); if (window.XMLHttpRequest) { xhrRequest.source = this; xhrRequest.onreadystatechange = function() { xhrRequest.source.processResponse(xhrRequest, url, container); }; } else { // MS Internet Explorer xhrRequest.onreadystatechange = function() { this.processResponse(xhrRequest, url, container); }; } if (xhrRequest) { xhrRequest.send(null); } if (!async && navigator.userAgent.indexOf("Firefox") != -1) { // separate callback method needed for Firefox (3.xx and earlier), synchronous mode only xhrRequest.source.processResponse(xhrRequest, url, container); } } this.processResponse = function(xhrResp, url, container) { if (!xhrResp || xhrResp.readyState < 4) { return; } if (xhrResp.readyState == 4) { if (xhrResp.status == 200) { if (url && container) { url = url.toLowerCase(); try { if (url.indexOf(".xml") == -1) { // display results as-is document.getElementById(container).innerHTML = xhrResp.responseText; } else { var xmlDoc = xhrResp.responseXML; var allnodes = xmlDoc.getElementsByTagName('*').item(0); // for xml, do simple node text display var nodetext = this.getXmlNodeText(allnodes); // note: no \r\n between some IE node text values, only a space. // if your xml is simple enough, this replace should work: if (!window.XMLHttpRequest) { nodetext = nodetext.replace(/\s/g, "<br\>"); } else { // Firefox, Opera, etc support this nodetext = nodetext.replace(/\r|\n|\r\n/g, "<br\>"); } document.getElementById(container).innerHTML = nodetext; } } catch (e) { alert("Simple Ajax.js error with " + url + "\r\n" + "check url and container " + container); } } else { alert("Simple Ajax.js error: required parameters are missing"); } } else { alert("Simple Ajax.js error with " + url); } } } this.getXmlNodeText = function(xmlnode) { try { // Firefox, etc. if (xmlnode.textContent) { return xmlnode.textContent; } // older MS Internet Explorer else { return xmlnode.text; } } catch (e) { alert(e.description); return null; } } } // eop