ajax kérdés

írtam egy ajaxos lekérdezéses példát, de nem jövök rá miért nem megy
egy async lekérdezés lenne, a lekérdezés elmegy, a válasz vissza is jön, de nem fut le a válasz generálására beállított függvény.
itt lennének a részletek
ez lenne az oldal javascript részlete




<script type="text/javascript">
    var client = new HttpClient();
    client.isAsync = true;
    
    function test() {
	client.callback = function (result) {
	    document.getElementById('target').innerHTML = result;
	    }
	client.makeRequest('data.php','');
	}
</script>


<div id="HttpClientStatus" style="display:none">Loading ...</div>
<a href='javascript:test()'> Do it</a>
<div id="target"></div>

Ez lenne a js


function HttpClient () { }
HttpClient.prototype = {
    requestType:'GET',
    isAsync:false,
    xmlhttp:false,
    callback:false,
    onSend:function () {
	document.getElementById('HttpClientStatus').style.display='block';
	},
    onLoad:function () {
	document.getElementById('HttpClientStatus').style.display='none';
	},
    onError:function (error) {
	alert (error);
	},
    init:function () {
	try {
	    this.xmlhttp = new XMLHttpRequest ();
	    } catch (e) {
		var XMLHTTP_IDS = new Array ('MSXML2.XMLHTTP.5.0',
					    'MSXML2.XMLHTTP.4.0',
					    'MSXML2.XMLHTTP.3.0',
					    'MSXML2.XMLHTTP',
					    'Microsoft.XMLHTTP');
		var success = false;
		for (var i=0;i< XMLHTTP_IDS.length && !success; i++) {
		    try {
			this.xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
			success = true;

			} catch (e) { alert('NO AJAX');}
		}
	    }
	},
	makeRequest: function (url,payload) {
	    if (!this.xmlhttp) {
		this.init();
		}
	    this.xmlhttp.open(this.requestType,url,this.isAsync);
	    var self = this;
	    this.xmlhttp.onReadyStateChange = function () {
alert('oOoOoOoOo');
		self._readyStateChangeCallback (self);

		}
	    this.xmlhttp.send(payload);

	    if (!this.isAsync) {
		return this.xmlhttp.responseText;
		}
	},
	_readyStateChangeCallback:function (obj) {
	    switch (this.xmlhttp.readyState) {
		case 2:
		    this.onSend();
		    break;
		case 4:
		    this.onLoad();
		    if (this.xmlhttp.status == 200) {
			this.callback(this.xmlhttp.responseText);
			}
		    else {
			this.onError('HTTP Error Making Request: '+'[ '+this.xmlhttp.status+']'+' '+this.xmlhttp.statusText);
			}
			break;
		}
	}
}

a this.xmlhttp.onReadyStateChange rész nem fut le, mikor esemény változás történik.

valamiért a code tagok közé tett html kód nem látszik

Hozzászólások

onReadyStateChange != onreadystatechange

még annyi lenne, hogy IE-ben az első klikk az jó, de ha megint klikkelek az nem csinál semmit (a többi böngésző az ok)
hogy tudnám közölni az IE-vel, hogy ne a chache-ből húzza az adatot?
van erre valami utasítás, vagy a válasz heder-be kell elmondani neki?