Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794

    Problema Ajax nella cancellazione record

    Ragazzi, recupero i dati con ajax e php+mysql e funziona tutto. Solo che quando vado a cancellare un record, non riesco a fare il refresh della sezione di recupero record. Se provo a mettere location.reload(); come specificato di seguito:

    <script type="text/javascript">
    ottieni_immagini.location.reload();
    function cancella_immagine(file, cartella)
    {
    $.ajax({
    type: "GET",
    url: "cancella_immagine.php",
    data: "immagine="+file+"&cartella="+cartella,
    success: function(response){
    location.reload();
    }
    });}
    </script>

    mi fa il reload dell'intera pagina.. ma non mi fa il refresh dei dati in quanto mi tiene ancora in cache il dato cancellato.. solo entrando nella specifica della pagina e faccio F5 me l'aggiorna. Come posso evitare tutto ciò? Posto il codice per farvi capire meglio.

    Questa è la mia prima pagina PHP dove recupero i dati (nomi di files) tramite ajax

    <script type="text/javascript">
    function ottieni_immagini(cartella)
    {

    $.ajax({
    type: "GET",
    url: "ottieni_immagini.php",
    data: "cartella="+cartella,
    success: function(response){
    $("#output").html(response);
    }
    });}
    </script>

    INSERISCI IMMAGINE NELL'ARTICOLO
    <?
    $options = '<option value="">Scegli la cartella</option>';
    $options .= '<option value="../images/">../images/</option>';
    foreach (array_filter(glob($path.'../images/*'), 'is_dir') as $dir)
    {
    $options .= '<option value="<?=$dir?>">' . $dir . '</option>';
    }

    echo '<select name="immagini" onchange="ottieni_immagini(this.value)">' . $options . '</select>';

    ?>
    <div id="output"></div>

    -------------------------------------
    ottieni_immagine.php è la seguente (qui voglio cancellare le immagini cliccando su X):

    <head>
    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    ottieni_immagini.location.reload();
    function cancella_immagine(file, cartella)
    {
    $.ajax({
    type: "GET",
    url: "cancella_immagine.php",
    data: "immagine="+file+"&cartella="+cartella,
    success: function(response){
    location.reload(); ---> voglio fare il refresh in modo che non compare il dato cancellato
    }
    });}
    </script>
    </head>
    <?
    include '../conf/connect.php';
    $cartella = $_GET['cartella'];
    foreach (array_filter(glob($cartella.'*'), 'is_file') as $file)
    {
    $nome = str_replace($cartella, '', $file);

    ?>
    [img]<?=$file?>[/img]<?=$nome?><a style="cursor: hand" onclick="javascript: cancella_immagine('<?=$file?>','<?=$cartella?>')"> x</a><hr />
    <?
    }
    ?>
    <div id="output"></div>

    ----------------------

    Questo è il file cancella_immagine.php:
    <?
    $immagine = $_GET['immagine'];
    $cartella = $_GET['cartella'];

    unlink($cartella.$immagine);

    echo "saadasdasda $immagine";
    ?>


    Se non sono stato chiaro

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Prova a mettere al posto di location.reload l'indirizzo completo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    in che senso non ho capito... Come devo mettere l'indirizzo completo?

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.