\cat programming
<script type="text/javascript"> /* http://developer.mozilla.org/en/docs/AJAX:Getting_Started */ function makeRequest(url, data, func){ var http_request = false; /* Create an XMLHTTP instance */ if(window.XMLHttpRequest){ /* Mozilla, Safari, ... */ http_request = new XMLHttpRequest(); if(http_request.overrideMimeType){ /* Some web servers return a non-standard mime type. */ http_request.overrideMimeType('text/xml'); } }else if(window.ActiveXObject){ /* IE */ try{ http_request = new ActiveXObject('Msxml2.XMLHTTP'); }catch(e){ try{ http_request = new ActiveXObject('Microsoft.XMLHTTP'); }catch(e){} } } if(!http_request){ alert('Cannot create an XMLHTTP instance!'); return false; } /* This function has no arguments. */ http_request.onreadystatechange = function(){func(http_request);}; if(data == null) var method = 'GET'; else{ var method = 'POST'; http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } /* http_request.open(method, url, asynchronous) */ http_request.open(method, url, true); /* http_request.send(POST data) */ /* required even if the method is not POST. */ http_request.send(data); } function alertContents(http_request){ /* http_request.readyState 0: uninitialized 1: loading 2: loaded 3: interactive 4: complete */ if(http_request.readyState != 4) return; if(http_request.status != 200){ alert('There was a problem with the request.'); return; } /* http_request.responseText: response as a string of text http_request.responseXML: response as an XMLDocument object <?xml version="1.0" ?> <root> I'm a test. </root> var xmldoc = http_request.responseXML; var root_node = xmldoc.getElementsByTagName('root').item(0); alert(root_node.firstChild.data); */ alert(http_request.responseText); } </script> <span style="cursor:pointer; text-decoration:underline;" onclick="makeRequest('ajax_test.html', null, alertContents)">Make a request</span>