Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    aggiornamento database mysql con aiax senza refresh pagina asp

    salve ragazzi,
    sto cercando di far aggiornare un DB MYSQL passando un dato con AIAX e quindi senza effettuare il refresh dela pagina.

    Ma molto probabilmente mi sono perso un passaggio..

    In pratica quando l'utente clicca su un link, con l'evento onclick richiamo una funzione AIAX che mi aggiorna una TBl di MYSQL con un determinato dato.. ma fino ad ora senza esito, qui di seguito Vi riporto il codice che stavo utilizzando:

    codice:
    function update_dati() {
        // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
    add_dato= new XMLHttpRequest();
    add_dato.open("GET", "inc/update.asp?l=it" ,true);
    add_dato.send(null);
    
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
    add_dato= new ActiveXObject("Microsoft.XMLHTTP");
    if (add_dato) {
    add_dato.open("GET", "inc/update.asp?l=it" ,true);
    add_dato.send();
            }
        }
    }
    e poi con questo semplice tag richiamo la funzione:

    < a href="#" onclick="update_dati();">prova</ a>

    Nella pagina update c'è un semplice inserimento di un nuovo record nella tabella di MYSQL

    codice:
    Sql = "SELECT * FROM Report"
    Set Rs = Server.CreateObJect("Adodb.Recordset")
    Rs.Open Sql, conn, 1,3
    Rs.AddNew
    Rs("Inserita") = Date()
    Rs("Ora") = FormatDateTime(Now(),3)
    Rs("Lingua") = Request("L")
    Rs("Ip") = Request.ServerVariables("REMOTE_ADDR")
    Rs.Update
    Rs.Close
    Set Rs = Nothing
    Conn.Close
    Set Conn = Nothing
    ma come vi ho detto non funziona, nel senso che non effettua alcun inserimento nel DB.

    Dove è che sbaglio ?!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Rs.AddNew non è supportato da mysql usa INSERT INTO se un nuovo inserimento se è un aggiornamento devi usare UPDATE.
    Consiglio, per capire se l'errore/problema e lato server o client testa le operazioni separatamente altrimenti rischi di cercare l'errore/problema dal lato sbagliato.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ti ringrazio Andrea,
    ma avevo già fatto questa prova, nel senso che ho richiamato la sola pagina di inserimento e funziona regolarmente...anche perchè già la usavo per altri script..

    Il problema è nel far passare i valori con lo script in aiax...c'è qualche azione che forse non ho fatto ?!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    function update_dati() {
        // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
    add_dato= new XMLHttpRequest();
    add_dato.open("GET", "inc/update.asp?l=it" ,true);
    add_dato.send(null);
    
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
    add_dato= new ActiveXObject("Microsoft.XMLHTTP");
    if (add_dato) {
    add_dato.open("GET", "inc/update.asp?L=it" ,true);
    add_dato.send();
            }
        }
    add_dato.onreadystatechange=function(){
    		//alert(ajx.responseText)
            if (add_dato.readyState == 4 && add_dato.status==200){
    				document.getElementById('risposta').innerHTML=add_dato.responseText;
    				}
    		}
    }
    e aggiungi un div nel documento con id "risposta"
    < a href="javascript:void(0);" onclick="update_dati();">prova</ a>
    <div id="risposta"></div>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ciao andrea,
    ti ringrazio per il tuo prezioso aiuto..

    Ho inserito il tuo suggerimento.... cliccando sul link ha inserito la prima volta un nuovo record nel DB, ma se clicco altre volte non me ne inserisce altri, anche se aggiorno la pagina o cambio la pagina.. nn c'è stato niente da fare.. !??


    Riesci a capire come mai ?!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  6. #6
    nessuno riesce a capire quale può essere il problema ?!
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova a mettere il link ad una demo pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    ciao andrea,
    scusa il ritardo..

    allora ho ricreato il problema su uno spazio di test:

    qui trovi la pagina con il link da cliccare, vedrai che ti inserirà solu un record e poi basta

    http://djptest.com/email


    se invece richiami direttamente la pagina dove avviene l'inserimento, vedrai che lo script funziona correttamente, ti basta effettuare il refresh della pagina:

    http://djptest.com/email/email_update.asp
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  9. #9
    sto notando .. una cosa..
    se chiudo il browser e lo riapro, e clicco il link mi inserisce il primo record..se continuo a cliccare no.

    Se chiudo il browser e poi lo riapro.e riprovo a cliccare il link, ecco che mi inserisce il link..

    Se però , rimango con la stessa finestra e continuo a navigare sul sito dove è presente il link , se riprovo a cliccarlo ..non mi inserisci il dato nel DB


    Quindi, credo che sia una questione di cache o sessione..

    sulla pagina dove viene inserito il record, ho provato a mettere anche questo codice, per cercare di eliminare il problema della cache..ma vedo che nn funziona per niente:

    codice:
    if request.querystring("refr")="" then
    Randomize ' inizializza il generatore di numeri casuale 
    Do Until len(controllo) = 20 ' qui imposti la lunghezza della password 
    numero = Int((9 * Rnd) + 1) ' Genera un valore casuale compreso tra 1 e 9. 
    controllo = controllo & numero 
    Loop 
    response.redirect "?refr="&controllo&""
    end if
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

  10. #10
    confermo..in pratica è un problema di cache.

    Ho provato, ogni volta a cancellare la cache del browser e cliccando il link, mi inserisce il dato nel db !! se nn cancello la cache non mi inserisce il record !!

    C'è un modo per risolvere tale problema !?
    Hotel a Milano::Cerca il tuo alloggio a milano;
    IBeds::Cerca il tuo alloggio in italia con il cellulare;
    Hotel a Roma::Cerca il tuo alloggio a roma;
    Hotel a Venezia::Cerca il tuo alloggio a venezia;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.