I dati del form sono vuoti durante l'invio tramite ajax utilizzando jQuery in WordPress
Sto inviando un form tramite ajax utilizzando jQuery in WordPress
ma purtroppo ottengo il form vuoto nella console
.
Ecco il mio codice jQuery -
function step1SaveData(){
var formData = new FormData(jQuery('#tpform1')[1]);
console.log(formData);
jQuery.ajax({
type:"POST",
url:'http://lexem.in/wp-admin/admin-ajax.php',
processData:false,
contentType:false,
data:{
action:'tpartners',
formdata:formData,
},
success:function(data){
var insertedID = data.trim();
if(insertedID!='fail'){
}else{
console.log('fallito');
}
}
});
}
Ed ecco il codice del mio file ajax -
add_action( 'wp_ajax_tpartners', 'save_update_data' );
add_action( 'wp_ajax_nopriv_tpartners', 'save_update_data' );
function save_update_data(){
print_r($_POST);
print_r($_FILES);
}
Il file ajax restituisce 0.
Vi prego di aiutarmi a capire quale sia il problema.
Grazie in anticipo.

Prova a usare .serialize()
invece di FormData
function step1SaveData(){
var formData = jQuery('#tpform1').serialize();
console.log(formData);
jQuery.ajax({
type:"POST",
url:'http://lexem.in/wp-admin/admin-ajax.php',
data:{
action:'tpartners',
formdata:formData,
},
success:function(data){
var insertedID = data.trim();
if(insertedID!='fail'){
}else{
console.log('fail');
}
}
});
}
oppure usa .serializeArray()
se vuoi i tuoi dati in un array invece che in una stringa.
MODIFICA - dai commenti, rimuovi processData:false
e contentType:false
dalla chiamata ajax

Ho utilizzato la funzione .serialize()
ma sfortunatamente non invia i dati dei file.

Ok, ora provo con la funzione serializeArray()
e vediamo cosa succede... ti aggiorno al più presto.

Ora ho i dati nella console usando la funzione serializeArray()
ma il POST
è ancora vuoto, purtroppo.

Quindi, il problema è stato finalmente risolto seguendo questi passaggi -
1. Rimuovere processData:false
dalla richiesta ajax
2. Rimuovere contentType:false
dalla richiesta ajax
3. Utilizzare la funzione serializeArray()
invece di FormData()
.
Grazie per l'assistenza.
Saluti

@Vipin potresti per favore modificare questa risposta o pubblicare la tua risposta con il tuo risultato? Non ho capito come sostituire formdata con serializeArray.
