Visualizzazione dei risultati da 1 a 9 su 9

Discussione: upload ajax jquery

  1. #1

    upload ajax jquery

    Salve io invio un form con jquery e ajax
    <script type="text/javascript">
    $(document).ready(function(){
    $('#submit').click(function(){
    var data = $('#iscrizione').serializeArray();

    // Messaggio o immagine mentre la richiesta è in corso
    $('#response').html("[img]images/loading.gif[/img]");

    $.ajax({
    type: 'POST',
    url: 'invia-articolo-ajax.php',
    data: data,
    success: function(e){
    $('#response').html(e);
    }
    });
    });
    });
    </script>

    il problema è che se voglio inviare anche un file non viene inviato il $_FILES. come devo fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Usa uno di questi con una semplice chiamata ajax non puoi inviare dati binari come i file.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da cavicchiandrea
    Usa uno di questi con una semplice chiamata ajax non puoi inviare dati binari come i file.
    Sorry, cavicchiandrea, è falso. Con ajax si possono inviare file binari (e non è neanche difficile)!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da carlomarx
    Sorry, cavicchiandrea, è falso. Con ajax si possono inviare file binari (e non è neanche difficile)!
    Ok, precisiamo da quanto mi risulta non è cross-browser (per mia limitazione tutto quello che non è cross-browser non lo prendo in considerazione fino a che non lo diventa)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    in pratica, come faccio ad integrare l'invio del file nel mio codice?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da fiorentinese
    in pratica, come faccio ad integrare l'invio del file nel mio codice?
    Usa uno degli script segnalati che sono già completi per eseguire il download
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da cavicchiandrea
    Ok, precisiamo da quanto mi risulta non è cross-browser (per mia limitazione tutto quello che non è cross-browser non lo prendo in considerazione fino a che non lo diventa)
    È solo parzialmente vero. Per inviare un file (binario o no) dobbiamo eseguire almeno due operazioni:
    • leggere il contenuto di un file scelto da un utente tramite un input file e salvarlo in una variabile,
    • inviarlo tramite ajax (con metodo post meglio che get).

    La prima operazione (che non riguarda ajax) non è crossbrowser (nel senso che solo IE non la supporta ma non ho mai indagato se esiste un metodo valido per leggere file con IE, ne avevamo discusso qui), la seconda sì. Ma se ad esempio sostituisci l'input file con un oggetto scritto in flash, puoi inviare dati tramite ajax. È la lettura dell'hard disk il problema.

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da carlomarx
    È solo parzialmente vero. Per inviare un file (binario o no) dobbiamo eseguire almeno due operazioni:
    • leggere il contenuto di un file scelto da un utente tramite un input file e salvarlo in una variabile,
    • inviarlo tramite ajax (con metodo post meglio che get).

    La prima operazione (che non riguarda ajax) non è crossbrowser (nel senso che solo IE non la supporta ma non ho mai indagato se esiste un metodo valido per leggere file con IE, ne avevamo discusso qui), la seconda sì. Ma se ad esempio sostituisci l'input file con un oggetto scritto in flash, puoi inviare dati tramite ajax. È la lettura dell'hard disk il problema.
    E si è concluso che ie (il browser tuttora più diffuso e utilizzato) non lo supporta, perché complicarsi la vita ma....
    A e se mio nonno aveva 5 palle era un flipper
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da cavicchiandrea
    E si è concluso che ie (il browser tuttora più diffuso e utilizzato) non lo supporta, perché complicarsi la vita ma....
    A e se mio nonno aveva 5 palle era un flipper
    Io uso linux e spesso non ho neppure modo di testare le cose con IE. Per mia limitazione se qualcuno visita le mie pagine con IE lo invito a cambiare browser, ma è una mia limitazione appunto. Resta il fatto che non sono in grado di dirti se davvero con IE non si possa fare. Forse il trascinamento dei file sulla finestra del browser è un metodo supportato da IE. Ma non sono in grado di dirtelo. Sono certo che anni fa la situazione era invertita e IE era l'unico browser che aveva un metodo tutto suo per accedere all'hard disk. Ma non so se è ancora supportato.

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.