Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54

    Ajax - fare upload di testo e immagine da una form

    Ciao Ragazzi!
    Avrei bisogno di un vostro aiutino.

    Vi spiego mio problema:
    Ho realizzato una form che al click del pulsante invia spedisce i dati al database.
    Per rendere tutto più web 2.0 ho pensato di usare la tecnologia ajax per comunicare con mio database mysql e php in modo più veloce per salvare le informazioni.
    Attualmente il tutto funziona perfettamente in quanto lo script java in possesso usa come:

    setRequestHeader("Content-type", "application/x-www-form-urlencoded").

    Il problema nasce nel momento in cui un mio cliente chiede che oltre che salvare i dati(solo testo campi text) inviare anche dalla form una immagine. Purtroppo dal file processa.php che si occupa di interfacciare con mysql non riceve le info del campo type=file name=”img” che da php avrebbe come variabile un ($_FILES[“img”]).

    Ho provato a cambiare
    setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    in
    setRequestHeader("Content-type", "multipart/form-data");

    ma nulla da fare! Anzi, addirittura con setRequestHeader("Content-type", "multipart/form-data");
    le altre form che hanno solo il compito di inviare testo non funzionano più, costringendomi di ritornare sempre al punto di partenza, cioè utilizzare solo:
    setRequestHeader("Content-type", "application/x-www-form-urlencoded").


    SAPETE COME SI FA PER INVIARE DATI(TESTO + IMMAGINE)? MAGARI CON UN SEMPLICE ESEMPIO? in javascript e php

    GRAZIE MILLE?

    RIMANGO IN ATTESA DI UNA VOSTRA GENTILE RISPOSTA.

    uso questa semplice funzione:

    function InviaDati(data)
    {
    // istanziamo l'oggetto XMLHttpRequest
    if (window.XMLHttpRequest)
    {
    req = new XMLHttpRequest();
    req.onreadystatechange = ProcessaDati;
    req.open('POST', url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send(data);
    }
    // controlliamo la versione di ActiveX
    else if (window.ActiveXObject)
    {
    req = new ActiveXObject('Msxml2.XMLHTTP')
    if (req)
    {
    req.onreadystatechange = ProcessaDati;
    req.open('POST', url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send(data);
    }
    }

    }

  2. #2
    nono, non si può inviare multipart-data usando XMLHttpRequest, devi appoggiarti ad un altro strumento, tipo un iFrame o a Flash, per inviare i dati in maniera asincrona.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Peccato!

    Avevo proprio intenzione di interagire tutto quanto usando ajax, ma se non si puo' fare, allora no.
    Semmai mi opto ad utilizzare il vecchio metodo di invio, sarà lento, ma funzionante.

    Grazie della risposta!

    Accetto comunque altri suggeriment

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Grazie per immediata risposta!

    Il sito che mi hai consigliato lo conosco di già infatti lo uso in altre mie applicazione.
    Ormai lo avrò maneggiato un miliardo di volte, per cui credo che non soddisfi a pieno le mie attuali necessita, in quanto si occupa solo di uppare foto jpg o file, ma non campi txt che defisco a parte, anzi si può addattare ma il codice è molto ampio da analisare.

    Comunque grazie della risposta. Nel frattempo cerco qualcos'altro, se conosci altre fonti non esitarmi a scrivere.

    Ciao per ora...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.