Ciao ragazzi, sapete dirmi perché questo codice non funziona?
In pratica vorrei creare una funzione che imposti rapidamente il tipo di scambio dati con il server (post o get), imposti gli header corretti ed avvii una funzione da me scelta quando i dati del server sono stati inviati completamente (readyState=4).
Questo è ilL'oggetto ajax passato come parametro è stato inizializzato correttamente con questocodice:/*ajax=oggetto XMLHttpRequest method=get oppure post action=file lato server che gestisce la richiesta f=nome della funzione da richiamare quando readyState=4*/ function ajaxOpen(ajax,method,action,f) { if (ajax) { if (method=="get") { ajax.open("get", action, true); ajax.setRequestHeader("connection", "close"); } else { ajax.open("post", action, true); ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } // impostazione controllo e stato della richiesta ajax.onreadystatechange = function() { // verifica dello stato if(ajax.readyState === 4) { // verifica della risposta da parte del server if(ajax.status === ajaxStatusOk) { eval(f+"(\""+ajax.responseText+"\");"); return 0; //tutto ok } else return ajax.status; //errori ajax } } } else return -1; }Firefox mi dice che la funzione ajaxOpen non è definita, quindi ci deve essere un errore interno alla funzione, ma non mi viene intercettato.codice:var ajax= null; browserUtente = navigator.userAgent.toUpperCase(); if (typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") ajax= new XMLHttpRequest(); else if (window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) { if(browserUtente.indexOf("MSIE 5") < 0) ajax= new ActiveXObject("Msxml2.XMLHTTP"); else ajax= new ActiveXObject("Microsoft.XMLHTTP"); } return ajax;

Rispondi quotando
