Salve a tutti,
per esercitarmi nell'uso di xmlhttprequest ho pensato di fare il seguente eserciziorelievo del path di foto dal server e invio al browser per la visualizzazione.In poche parole una gallery.
di seguto i file:

javascript:
codice:
window.addEventListener('load',init,'false');
var image_index=1;
var http_req;
var images=new Array();
function init(){
/*inizializza la pagina:aggiunge l'evento onclick al tag image,richiede al server le immagini,inizializza la pagina con la prima foto*/
	document.getElementById("img").addEventListener('click',change_image,'false');
	request_image();
	document.getElementById("img").src=images[0].src;//inizializza la pagina con la prima foto
}

function request(){
	var http_req;
	try{
		http_req=new XMLHttpRequest();
	}
	catch(failed){
		http_req=false;
	}
	if( !http_req ){
		return false
	}
	return http_req;
}
function request_image(){
	//inizializza oggeto xmlhttprequest
	http_req=request();
	if(!http_req){
		alert("Impossibile creare la richiesta!");
		return;
	}
	var url="../php/gallery_j.php";
	http_req.open("GET",url,'false');//not an asinchronous request
	http_req.onreadystatechange=load_images;
	http_req.send(null);
}
function load_images(){
	if( http_req.readyState==4){
		if( http_req.status==200){
			var response=http_req.responseText;
			var jObj=JSON.parse(response);
    for(var i=0;i<jObj.length;i++){
		        //alert(jObj[i].path+" "+jObj[i].width+" "+jObj[i].height);
			images[i]=new Image();
			images[i].src=jObj[i].path;
			images[i].width=jObj[i].width;
			images[i].height=jObj[i].height;
		   }
		}
		else{
			alert("Error stauts: "+http_req.status);
		}
	}
}
function change_image(){
	if( image_index < images.length){
		document.getElementById("img").src=images[image_index].src;
		image_index++;
	}
	else{
		image_index=0;
		document.getElementById("img").src=images[image_index].src;
		image_index++;
	}
}
La funzione init() viene chiamata all'atto del caricamento della pagina.ll problema e relativo solo allo javascript.Infatti,il file php alla quale viene fatta la richista dei file li trasferisce correttamente.La chiamata ad http_req.open("GET",url,'false'); è asincrona perche aspetto che i percorsi al file siano inviati prima di poter fare il resto.Il problema nasce quando carico l'array di immagini(parte in rosso) e ottengo questo errore:"NetworkError: 404 Not Found - http://localhost/gallery/html/undefined".Il percorso http://localhost/gallery/gallery.html è dove risiede il file html.Grazie per l'aiuto.