Why doesn't my httpRequest Javascript function return unless I add an alert? Grrr. I am writing my first AJAX-y function called add_tag. This is how it is suppose to work: 1. define a username 2. create an httpRequest object 3. define what it is suppose to happen when it gets a response 4. open a connection to the server 5. send the request When the response it is complete is simply echos the username. I know the remote CGI script works because the following URL works correctly: http://mylibrary.library.nd.edu/demos/tagging/? cmd=add_tag&username=fkilgour My Javascript is below, and it works IF I retain the "alert ( 'Grrr!' )" line. Once I take the alert out of the picture I get a Javascript error "xmldoc has no properties". Here's my code: function add_tag() { // define username var username = 'fkilgour'; // create an httpRequest var httpRequest; if ( window.XMLHttpRequest ) { httpRequest = new XMLHttpRequest(); } else if ( window.ActiveXObject ) { httpRequest = new ActiveXObject ( "Microsoft.XMLHTTP" ); } // give the httpRequest some characteristics and send it off httpRequest.onreadystatechange = function() { if ( httpRequest.readyState == 4 ) { var xmldoc = httpRequest.responseXML; var root_node = xmldoc.getElementsByTagName( 'root' ).item( 0 ); alert ( root_node.firstChild.data ); } }; httpRequest.open( 'GET', './index.cgi?cmd=add_tag&username=' + username, true ); httpRequest.send( '' ); alert ( 'Grrr!' ); } What am I doing wrong? Why do I seem to need a pause at the end of my add_tag function? I know the anonymous function -- function() -- is getting executed because I can insert other httpRequest.readyState checks into the function and they return. Grrr. -- Eric Lease Morgan University Libraries of Notre Dame (574) 631-8604