cmq ho risolto manualmente
Codice PHP:
// funzione per assegnare un oggetto XMLHttpRequest
function assegnaXMLHttpRequest() {
var
XHR = null,
browserUtente = navigator.userAgent.toUpperCase();
if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") {
XHR = new XMLHttpRequest();
} else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
if(browserUtente.indexOf("MSIE 5") < 0) {
XHR = new ActiveXObject("Msxml2.XMLHTTP");
} else {
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return XHR;
}
// oggetto di verifica stato
var readyState = {
INATTIVO: 0,
INIZIALIZZATO: 1,
RICHIESTA: 2,
RISPOSTA: 3,
COMPLETATO: 4
};
// array descrittivo dei codici restituiti dal server
var statusText = new Array();
statusText[100] = "Continue";
statusText[101] = "Switching Protocols";
statusText[200] = "OK";
statusText[201] = "Created";
statusText[202] = "Accepted";
statusText[203] = "Non-Authoritative Information";
statusText[204] = "No Content";
statusText[205] = "Reset Content";
statusText[206] = "Partial Content";
statusText[300] = "Multiple Choices";
statusText[301] = "Moved Permanently";
statusText[302] = "Found";
statusText[303] = "See Other";
statusText[304] = "Not Modified";
statusText[305] = "Use Proxy";
statusText[306] = "(unused, but reserved)";
statusText[307] = "Temporary Redirect";
statusText[400] = "Bad Request";
statusText[401] = "Unauthorized";
statusText[402] = "Payment Required";
statusText[403] = "Forbidden";
statusText[404] = "Not Found";
statusText[405] = "Method Not Allowed";
statusText[406] = "Not Acceptable";
statusText[407] = "Proxy Authentication Required";
statusText[408] = "Request Timeout";
statusText[409] = "Conflict";
statusText[410] = "Gone";
statusText[411] = "Length Required";
statusText[412] = "Precondition Failed";
statusText[413] = "Request Entity Too Large";
statusText[414] = "Request-URI Too Long";
statusText[415] = "Unsupported Media Type";
statusText[416] = "Requested Range Not Satisfiable";
statusText[417] = "Expectation Failed";
statusText[500] = "Internal Server Error";
statusText[501] = "Not Implemented";
statusText[502] = "Bad Gateway";
statusText[503] = "Service Unavailable";
statusText[504] = "Gateway Timeout";
statusText[505] = "HTTP Version Not Supported";
statusText[509] = "Bandwidth Limit Exceeded";
// funzione di caricamento testo,
// accetta una stringa contenente
// il nome di un file da leggere
function ajaxthis(idelemento,idform,nomeFile,tipoconn) {
// assegnazione oggetto XMLHttpRequest
ajax = assegnaXMLHttpRequest();
// assegnazione elemento del documento
elemento = document.getElementById(idelemento);
imgload = document.getElementById("loading");
butsubmit = document.getElementById("imgsubmit");
butsubmit.disabled=true;
imgload.style.visibility="visible";
imgload.style.display="block";
if (document.getElementById(idform).elements.length > 0) {
stringa = PreparaDati(idform);
} else {
stringa = "";
}
ajax.open(tipoconn, nomeFile, true);
ajax.onreadystatechange = function() {
// verifica dello stato
if(ajax.readyState == 4) {
// verifica della risposta da parte del server
if(ajax.status == 200) {
// operazione avvenuta con successo
butsubmit.disabled=false;
imgload.style.visibility="hidden";
imgload.style.display="none";
elemento.innerHTML = ajax.responseText;
} else {
// errore di caricamento
butsubmit.disabled=false;
imgload.style.visibility="hidden";
imgload.style.display="none";
elemento.innerHTML = "<span style=\"color: #cc0000\">Impossibile effettuare l'operazione richiesta.
Errore riscontrato: " + statusText[ajax.status] + "</span>";
}
}
}
// impostazione richiesta asincrona in GET o POST
// del file specificato
if (tipoconn == "get") {
ajax.setRequestHeader("Connection", "close");
} else {
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
ajax.setRequestHeader("Content-length", stringa.length);
ajax.setRequestHeader("Connection", "close");
}
if (tipoconn == "get") {
ajax.send(null);
} else {
ajax.send(stringa);
}
}
function PreparaDati(idform){
stringa = "";
var form = document.getElementById(idform);
var numeroElementi = form.elements.length;
for(var i = 0; i < numeroElementi; i++){
if(i < numeroElementi-1) {
//stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value))+"&";
stringa += form.elements[i].name + "=" + form.elements[i].value + "&";
} else {
//stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value));
stringa += form.elements[i].name + "=" + form.elements[i].value;
}
}
return stringa;
}
Cmq per il fatto di evitare un eventuale timeout della richiesta come devo modificare il codice? ho visto questa guida su html.it ma siccome il codice non è "identato bene" non capisco precisamente in quali blocchi inserire il codice..
cmq se volete darmi altri consigli saranno ben accetti!!
grazie ancora