Visualizzazione risultati 1 fino 6 di 6

Discussione: Problema con ajax

  1. #1
    Guest

    Predefinito Problema con ajax

    vi posto il codice della pagina 'login.js' che includo in login.php. Il problema è che la funzione submitdata() (quando clicco il 'button') funziona solo la prima volta e solo con explorer! Io credo che il problema sia nel readyState che non arriva a 4. Qualcuno è in grado di aiutarmi?

    Codice:
    // method that sets up a cross-browser XMLHttpRequest object
    function getHTTPObject() {
    	var http_object;
    
    	// MSIE Proprietary method
    
    	/*@cc_on
    	@if (@_jscript_version >= 5)
    		try {
    			http_object = new ActiveXObject("Msxml2.XMLHTTP");
    		}
    		catch (e) {
    			try {
    				http_object = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			catch (E) {
    				http_object = false;
    			}
    		}
    	@else
    		xmlhttp = http_object;
    	@end @*/
    
    
    	// Mozilla and others method
    
    	if (!http_object && typeof XMLHttpRequest != 'undefined') {
    		try {
    			http_object = new XMLHttpRequest();
    		}
    		catch (e) {
    			http_object = false;
    		}
    	}
    
    	return http_object;
    }
    
    var http_req = getHTTPObject();
    
    function invia_dati() {
            var dati_post = "username=" + encodeURIComponent(document.getElementById("username").value) + 
    						"&password=" + encodeURIComponent(SHA1(document.getElementById("password").value)) + 
    						"&ip=" + encodeURIComponent(document.getElementById("ip").value) + 
    						"&datetime=" + encodeURIComponent(document.getElementById("datetime").value);
            http_req.onreadystatechange = gestisci_risposta;
    		http_req.open('POST', './admin/loginpost.php', true);
    		http_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    		http_req.setRequestHeader("Content-length", dati_post.length);
    		http_req.setRequestHeader("Connection", "close");
    		http_req.send(dati_post);
        }
    
    function gestisci_risposta() {
    	if(http_req.readyState == 4) {
    		var esito = http_req.responseText;
                switch (esito) {
                  case "2":
                    alert("Combinazione Username/Password non corretta, riprova.");
                    break;
    				
                  case "5":
                    alert("Errore nella connessione al database, riprova più tardi o contatta un amministratore.");
                    break;
    				
                  case "6":
                    alert("Errore nella selezione del database, riprova più tardi o contatta un amministratore.");
                    break;
    				
                  case "4":
                    alert("Login effettuato correttamente. Premi OK per essere reidirizzato alla sezione di Amministrazione.");
                    document.location.href = "./admin/index.php";
                    break;
    				
                  default:
                    alert("Risposta del server non riconosciuta: " + esito);
    			}
                document.images.loading.style.visibility = "hidden";
                document.forms.login.button.value = "Login";
                document.forms.login.button.disabled = false;
                document.forms.login.username.disabled = false;
                document.forms.login.password.disabled = false;
    	}
    }
    
    function SHA1 (msg) {/*OMETTO LA FUNZIONE CHE CALCOLA L'HASH SHA1*/}
    
    function submitdata() {
            document.forms.login.button.value = "Attendi...";
            document.images.loading.style.visibility = "visible";
            document.forms.login.button.disabled = true;
            document.forms.login.username.disabled = true;
            document.forms.login.password.disabled = true;
            setTimeout('invia_dati()',2000);
    }
    Grazie
    Ultima modifica di simoxz : 21-02-2009 alle ore 20.33.23

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Sinceramente ajax non lo conosco, ma ho sentito dire che non è supportato su altervista !

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sinceramente ajax non lo conosco, ma ho sentito dire che non è supportato su altervista !
    Scusate l'offtopic neanche io me ne intendo di ajax ma questa non l'ho mai sentita

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sinceramente ajax non lo conosco, ma ho sentito dire che non è supportato su altervista !
    Non bestemmiare ^^
    ---
    per l'autore: non ho avuto il tempo di leggere tutto il codice ma, la console errori in FF riporta qualche errore per caso?

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    scusate

    Mi sono confuso son l'ASP... (non conosco nessuno dei due e quindi...). Mi ricordavo di questo

    CIAO!

  6. #6
    Guest

    Predefinito

    no FF non da alcun errore!

    EDIT:
    Ragazzi, ho risolto! Avevo commesso l'errore più stupido si possa pensare: nel js ho messo getElementByID e nalla pagina php non ho messo l'ID... Comunque continua a non spiegarsi perchè su explorer funzionava...
    Grazie e ciao!
    Ultima modifica di seneca : 22-02-2009 alle ore 16.02.00

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •