Ho modificato la home page del mio blog in modo tale che i venisse caricata prima tutta la struttura della pagina poi, sfruttando AJAX, i songoli post uno per uno. Ecco il codice javscript che ho scritto:
Il tutto pare funzionare e non dà errori, tuttavia a volte succede che alcuni post rimangono vuoti, ovvero, controllando con FireBug, pare che il server ritorna una stringa vuota. Posto che il codice php è corretto, ci sono errori nella logica? Il fatto di richiamare "ricorsivamente" la funzione caricaPost() può comportare qualche errore? O forse il server non riesce ad elaborare troppe domande una vicino l'altra? Il fatto strano è che poi questo comportamento è random, non avviene sempre e sempre per post diversi!!codice:function sendAJAXrequest(nomeFile,post_par,func,ajax){ if(ajax) { ajax.open('post', nomeFile, true); ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = func; ajax.send(post_par); } return; } function caricaPost(attuale,count) { var nomeFile = "/Sezioni/Articoli/AJAX_getPost.php"; var post_par = "id="+post_id[attuale]; var elemento = prendiElementoDaId("testo"+post_id[attuale]); var ajax = assegnaXMLHttpRequest(); /*Definisce la funzione da attuare*/ var func = function() { if(ajax.readyState === readyState.COMPLETATO) { // verifica della risposta da parte del server if(statusText[ajax.status] === "OK"){ elemento.innerHTML = ajax.responseText; if(count>0)caricaPost(attuale+1,count-1); } else{ libero=true; elemento.innerHTML = "Impossibile effettuare l'operazione richiesta. "; elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status]; } } } /*Elabora richiesta*/ return sendAJAXrequest(nomeFile,post_par,func,ajax); }
Aiuto....
![]()

elf90 g77
Rispondi quotando
