SorgenkindMech: MemLeak IE Ajax

Beitrag lesen

Hallo SorgenkindMech,

  		if(running\_ajax\_requests[i]==null  

warum diese Abfrage?

Gruß, Jürgen

öhm überbleibsel aus der vorherigen funktionsweise, wo ich ja das element null gesetzt hatte ^^

also im moment steht er bei knapp 1,1 GB ... es scheint also nicht wirklich geholfen haben ;(

hast du noch eine andere idee?

zur vollständigkeit die aktuelle funktion nochmal:

var running_ajax_requests = new Array();  
function request_fkt(ziel,post,parameter)  
{  
	if(!post) ziel="../../ajax.php?" + ziel;  
	else ziel="../../ajax.php";  
	xmlHttp = null;  
	try {  
		// Mozilla, Opera, Safari sowie Internet Explorer (ab v7)  
		xmlHttp = new XMLHttpRequest();  
	} catch(e) {  
		try {  
			// MS Internet Explorer (ab v6)  
			xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");  
		} catch(e) {  
			try {  
				// MS Internet Explorer (ab v5)  
				xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");  
			} catch(e) {  
				xmlHttp  = null;  
			}  
		}  
	}  
	if (xmlHttp)  
	{  
		running_ajax_requests.push(xmlHttp);  
		xmlHttp=null;  
		akt_ajax_req_index=running_ajax_requests.length-1;  
		if(!post) running_ajax_requests[akt_ajax_req_index].open('GET', ziel, true);  
		else running_ajax_requests[akt_ajax_req_index].open('POST', ziel, true);  
		running_ajax_requests[akt_ajax_req_index].onreadystatechange = function ()  
		{  
			if (this.readyState == 4) {  
				if(this.responseText!="1")  
				{  
					response=this.responseText;  
					try  
					{  
						// alert(response);  
						eval(response);  
					}  
					catch(e)  
					{  
						// fehlerbehandlung  
					}  
				}  
			}  
			for(i=(running_ajax_requests.length-1);i>=0;i--)  
			{  
				if(running_ajax_requests[i]==null || running_ajax_requests[i].readyState==4)  
				{  
					delete running_ajax_requests[i];  
				}  
			}  
		};  
		if(!post) running_ajax_requests[akt_ajax_req_index].send(null);  
		else  
		{  
			running_ajax_requests[akt_ajax_req_index].setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
			running_ajax_requests[akt_ajax_req_index].setRequestHeader("Content-length", parameter.length);  
			running_ajax_requests[akt_ajax_req_index].setRequestHeader("Connection", "close");			  
			running_ajax_requests[akt_ajax_req_index].send(parameter);  
		}  
	}  
	else return "konnte XMLHttpRequest nicht initialisieren";  
}  

DANKE!!