Ciao ragazzi,

ho questo semplice script AJAX per effettuare un banale login:

codice:
function asyncRequest() {
	request = obtainXMLHttpRequest();
	var useLink = true;
	
	if( request ) {
		useLink = false;
		var username = document.getElementById("username").value;
		var password = document.getElementById("password").value;
		
		request.open("post", "core.php", true);
		request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		request.setRequestHeader("connection", "close");		
		
		request.onreadystatechange = function() {
			alert("readyState: " + request.readyState);
			alert("status: " + request.status);	
			
      		if(request.readyState == 4) {
				
        		if(request.status == 200) {
					alert(request.responseText);
					
					if(request.responseText == "GO") {
						window.location.replace("main.php");
					}
					
				} else {
					//...
        		}
      		}
    	}
		
    	
		var append = "&";
    	request.send( "username=" + escape(username) + append + 
					"password=" + escape(password) + append + 
					"login=" + escape("") );
	}
	
	return useLink;
}

function obtainXMLHttpRequest() {
			var
				XHR = null,
				browserUtente = navigator.userAgent.toUpperCase();
			if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
				XHR = new XMLHttpRequest();
			else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
				if(browserUtente.indexOf("MSIE 5") < 0)
					XHR = new ActiveXObject("Msxml2.XMLHTTP");
				else
					XHR = new ActiveXObject("Microsoft.XMLHTTP");
			}
			return XHR;
}
non capisco perchè non funziona in Google Chrome vers. 23 (in altri browser funziona); ottengo readyState = 4, ma status = 0.

Spero che qualcuno mi saprà dare spiegazioni.