Sto utilizzando il nuovo oggetto FormData HTML5 per pubblicare alcuni valori e un'immagine tramite Ajax. Funziona bene finora. Ora, voglio pubblicare un array usando questo oggetto, ma tutto quello che ho sul lato server è "[oggetto - oggetto]". Come posso pubblicare un array con i dati del modulo?Inserimento di array utilizzando i dati dei moduli
Che Ive ha ottenuto finora
var formData=new FormData();
formData.append('text', $('#text').attr('value'));
formData.append('headline',$('#headline').attr('value'));
formData.append('myarray',{key1: 'bla', key2: 'blubb'});
L'ultima riga di lavoro Indifferente. Invio la richiesta con questo codice
$.ajax({
url: 'xyz',
data: formData,
type: 'POST',
processData: false,
contentType: false,
success: function(data) {
var decoded=$.parseJSON(data);
displaySuccess('Success', decoded.message);
},error: function(data){
var decoded=$.parseJSON(data);
displayError('Error', decoded.message);
},complete: function(data){
$('#cursor').hide();
$("#submitbutton").removeAttr('disabled')
}
});
Grazie in anticipo.
sì, è possibile passare oggetti! fare un tentativo con il campo dati di jQuery. ho appena creato un oggetto complesso e l'ho passato e ha mantenuto la stessa struttura sui server. –
Ciao @DanyKhalife come hai ottenuto questo? Ho un problema simile – uikrosoft
@uikrosoft Si può semplicemente passare l'oggetto così com'è a jQuery. Diciamo che hai un oggetto 'var myData = {a: 1, b: 2, c: [3,4,5]};' la chiamata jQuery sarà qualcosa come '$ .ajax ({url: '/ myscript. php ', metodo:' POST ', data: myData, dataType:' json ', success: function (response) {console.log (response);}}) ' –