Nel tuo caso serve una chiamata Ajax sincrona e non asincrona
Se si esegue la chiamata sincrona il flusso si ferma sulla ajax.send fino a che non é arrivata la risposta del server. A questo punto si puó interrogare lo stato e prendersi il responseText.

Esempio per te:
codice:
function sndReq(file,action) {
	http.open("get", file+"?action="+action, false);// sincrona!
	http.send(null);   //qua si ferma in attesa di risposta
	//ora posso testare il readyState e prendere il responseText
	if(http.readyState == 4){
		var response = http.responseText;
		var splitString = response.split("#####");
		var text1 = splitString[0];
		var text2 = splitString[1];
		document.getElementById(text2).innerHTML = text1;
	}
}
HTH
Zappa