Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127

    Interrompere elaborazione dati

    Ciao a tutti,
    con jQuery invio una richiesta Ajax ad una funzione php che attraverso cURL analizza diverse pagine web, trova alcuni contenuti e li inserisce in un array.

    A questo punto partono dei foreach (php) per l'elaborazione dei dati.

    Ho anche una progressbar che visualizza il punto preciso dell'elaborazione e il tempo restante.

    In alcuni casi se il tempo è molto vorrei poter interrompere.

    Per interrompere l'elaborazione, ho provato ad uscire dal browser e rientrare, ma appena faccio partire un'altra richiesta, vedo la barra progressiva lavorare in questo modo: 1% 64% 2% 65% e così via, pare che abbia ancora in memoria la vecchia richiesta.

    Non capisco dove agire per interrompere tutto con un pulsante.

    Quale di questi secondo voi non si ferma?

    Ajax, cURL, ciclo foreach php?

    Come posso capirlo? E come potrei fare?

    Non sapendo quale di questi fermare, pubblico la stessa domanda sulla sezione php.

    Grazie,
    Andrea

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da andreto Visualizza il messaggio
    ....
    Non sapendo quale di questi fermare, pubblico la stessa domanda sulla sezione php.
    ...
    Non considerando che il cross-post è vietato
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127
    Come avrei potuto fare non sapendo se bloccare l'uno o l'altro, dove pubblicavo?

    Ho appena provato col metodo .abort() di XMLHttpRequest ma non si ferma.

    codice:
    var xhr = $.post("funzioni.php", {func: 'importa', var1: keys})
                .done(function(msg){
                    console.log(msg);
                });
    
    $('#abort').click(function(){        
            xhr.abort();                
        });
    Avete altre idee?

  4. #4
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127
    Se non ci sono altri modi potrei risolvere cosi:

    al click su un bottone attraverso ajax creo una variabile di sessione.
    Nella funzione interessata indico di controllare il valore della variabile con un if. e nel caso interrompere il foreach.
    C'è solo un problema... la variabile di sessione non è disponibile finchè la pagina non viene aggiornata.

    Per evitare il refresh della pagina pensavo di inserire il valore invece che nella variabile di sessione in un file .txt o addirittura nel db mysql (più nascosto) e leggere questo dato dalla funzione.

    Attendo un vostro parere, grazie

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    io metterei in linea un record in una tabella con un valore 1 o zero per fermare l'elaborazione e con un altro form lo imposterei a zeroper fermare l'elaborazione.
    Durante l'elaborazione ad ogni checkpoint leggerei se il valore è uno per proseguire oppure fermare se è zero. a fine elaborazione metterei a zero il rvalore nel record.
    ciao
    Vic53

  6. #6
    Utente di HTML.it L'avatar di andreto
    Registrato dal
    Dec 2012
    Messaggi
    127
    Ok, grazie

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.