Here's what I tried. I have copied the code from my page and cleaned it up so I only have one form field and my ajax call.
Here is the code : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content- type" /> <title>Simple IE Ajax Test</title> <script src="jquery.js" type="text/javascript"></script> <!-- jQuery --> <script src="firebug/firebug.js" type="text/javascript"></script> <!-- Firebug --> <!-- AJAX Username Availability Script --> <script type='text/javascript'> <!-- $.ajaxSetup({timeout: 3000}); $(document).ready(function(){ // Execute the checkUsername on onBlur event $("#txtUserName").blur( function() { checkUsername(); }); }); // This will check if the username is already used by another user. function checkUsername() { var username = ""; var previous_username = ""; var in_ajax; // Removed Ajax result $("#username_status").html(""); // If there is already a validation error, don't bother with username verification if( $("#txtUserName").parent(".error").length > 0 ) return; username = $("#txtUserName").val(); if ((previous_username != username) && (username != '') && (in_ajax != 1)) { in_ajax = 1; $("#username_status").html("<img src='images/ajax/ loading.gif' border='0' valign='middle' alt='Loading...' />"); try { $.ajax({ type: "GET", data: {txtUserName: username}, url: "http://server/AJAXCheckUsername.jsp?time=" + (new Date()).getTime(), timeout: 5000, success: function(data) { in_ajax = 0; if( data == "Available" ) { $("#username_status").html('<img src="images/ajax/accept.png" border="0" alt="Available" style="vertical-align: middle;" /> Username is Available!'); $ ("#txtUserName").parent().removeClass("error"); } else if( data == "Not Available" ) { $("#username_status").html('<img src="images/ajax/cross.png" border="0" alt="Not Available" style="vertical-align: middle;" /> Sorry. This username is already taken.'); $ ("#txtUserName").parent().addClass("error"); } else { $("#username_status").html('<img src="images/ajax/error.gif" border="0" alt="Error" style="vertical- align: middle;" /> An Error Has OOOccured!'); $ ("#txtUserName").parent().addClass("error"); } }, //error: function(xhr,err,e) { // //$("#username_status").html('An Error has occured. Please retry.'); // $("#username_status").html('Error : ' + err); // console.log("Error : " + err ); // } error: function(object, msg) { //$("#username_status").html('An Error has occured. Please retry.'); $("#username_status").html('Error : ' + msg); } }); } catch(error) { null; } } previous_username = username; } //--> </script> <!-- END AJAX Username Availability Script --> </head> <body> Simple IE Ajax Test<br /> <form id="frmGeneral" name="frmGeneral" action="" method="post" class="uniForm"> <fieldset class="inlineLabels"> <legend>Login Information</legend> <div class="ctrlHolder"> <label for="txtUserName"><em>*</em> Username</label> <input name="txtUserName" id="txtUserName" value="" size="20" maxlength="25" type="text"/> <div class="rightSection" id="username_status"> <span style="font-family : 'Verdana'; font-size : 8pt; font-weight: bold;"></span> </div> <p class="formHint"> Note: At least 6 characters long.<br>Only letters, numbers, _ and . </p> </div> </fieldset> </form> <!-- end frmGeneral --> </body> </html> As you can see, it's pretty simple now. In FF it works fine, no errors. However, in IE I get the error: function part executed and the msg value is "error". My questions : 1) Am I doing the error: function() part correctly ? 2) How can I catch the real exception error message (something that will help me get somewhere) ? I tried with the error: function(xhr,err,e) syntax and always get the "error" message in IE. Thanks for your help !!! 0xCAFE