Salve
vorrei sapere se è possibile effettuare chiamate POST ad uno script PHP per fare la duplice operazione di passaggio dati di un form e upload di un'immagine..
Prendiamo questo form
Per trasmettere il parametro immesso in "titolo" non ho nessun problema
Ma il problema è come gestire invece l'upload dell'immagine? La devo piazzare tra i params? Devo usare il FormData?
In conclusione è possibile fare entrambe le operazioni in un'unica mossa?
In alternativa, non ci son problemi a creare due script distinti (uno per passare i parametri "testuali" e l'altro per i file).. A tal proposito ho già provato questo scritp senza successo
mi dà errore su files[0] in quanto dice che è un metodo non definito
vorrei sapere se è possibile effettuare chiamate POST ad uno script PHP per fare la duplice operazione di passaggio dati di un form e upload di un'immagine..
Prendiamo questo form
HTML:
Titolo <input id="titolo" style="width:300px"></input>
Allega un'immagine <input id="immagine" type="file" name="immy" accept="image/*" size="40"/><br/><br/>
Per trasmettere il parametro immesso in "titolo" non ho nessun problema
PHP:
var ajaxReq = new XMLHttpRequest();
var params = "titolo="+$('#titolo').val()
var url = "registraDati.php";
ajaxReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxReq.setRequestHeader("Content-length", params.length);
ajaxReq.setRequestHeader("Connection", "close");
ajaxReq.send(params)
Ma il problema è come gestire invece l'upload dell'immagine? La devo piazzare tra i params? Devo usare il FormData?
In conclusione è possibile fare entrambe le operazioni in un'unica mossa?
In alternativa, non ci son problemi a creare due script distinti (uno per passare i parametri "testuali" e l'altro per i file).. A tal proposito ho già provato questo scritp senza successo
PHP:
var file_data = $("#immagine").files[0]; // Getting the properties of file from file field
var form_data = new FormData(); // Creating object of FormData class
form_data.append("afile", file_data) // Appending parameter named file with properties of file_field to form_data
form_data.append("user_id", 123) // Adding extra parameters to form_data
var xhr = new XMLHttpRequest();
xhr.open('POST', 'uploadImmagine.php', true);
xhr.send(form_data);
mi dà errore su files[0] in quanto dice che è un metodo non definito