Ajax e Chiamate HTTP
Server fails to read array parameters: jQuery sends 'items[]=1&items[]=2' instead of 'items=1&items=2' – jQuery AJAX_TRADITIONAL_PARAM_MISMATCH
Per default jQuery serializza gli array nei dati GET/POST aggiungendo le parentesi quadre 'tags[]=a&tags[]=b'; backend come Django o Spring richiedono la forma piatta 'tags=a&tags=b', risolvibile impostando 'traditional: true'.
Cosa significa questo errore?
Per default jQuery serializza gli array nei dati GET/POST aggiungendo le parentesi quadre 'tags[]=a&tags[]=b'; backend come Django o Spring richiedono la forma piatta 'tags=a&tags=b', risolvibile impostando 'traditional: true'.
Messaggio originale
Server fails to read array parameters: jQuery sends 'items[]=1&items[]=2' instead of 'items=1&items=2'Contesto e parole chiave
Alias
- jQuery traditional true array parameters ajax
Messaggi alternativi
- serializzazione array parametri ajax con parentesi quadre
Prodotti
- jQuery Library (v1.x, v2.x, v3.x, v4.x)
Piattaforme
- Linux
- macOS
- Qualsiasi Browser Web
- Windows
Parole chiave
- ajax
- Ajax e Chiamate HTTP
- errore-jquery-ajax-traditional-param-serialization
- javascript
- jquery
- jquery.ajax.traditional-param-serialization-mismatch
Cause possibili
Causa tecnica per Errore jQuery $.ajax: Serializzazione Parametri Array (traditional: true)
Per default jQuery serializza gli array nei dati GET/POST aggiungendo le parentesi quadre 'tags[]=a&tags[]=b'; backend come Django o Spring richiedono la forma piatta 'tags=a&tags=b', risolvibile impostando 'traditional: true'.
molto comuneDiagnosi
Diagnostica DOM o AJAX per Errore jQuery $.ajax: Serializzazione Parametri Array (traditional: true)
Verificare lo stato della variabile window.jQuery nella Console DevTools (F12) e ispezionare il tab Network per le chiamate AJAX.
Come leggere il risultato. Restituisce la versione attiva di jQuery e il numero effettivo di nodi DOM corrispondenti al selettore.
console.log(jQuery.fn.jquery); console.log($('.my-element').length);Risoluzione
Risoluzione standard per Errore jQuery $.ajax: Serializzazione Parametri Array (traditional: true)
Applicare la correzione al codice o alla configurazione degli script jQuery nel frontend.
- Ispezionare la riga segnalata nella console del browser
- Correggere il selettore CSS, il passaggio dei parametri o la delegazione con .on()
- Ricaricare la pagina con cache svuotata (Ctrl+F5) per verificare la risoluzione
Domande frequenti
Come risolvere l'errore Errore jQuery $.ajax: Serializzazione Parametri Array (traditional: true) in jQuery?
Per default jQuery serializza gli array nei dati GET/POST aggiungendo le parentesi quadre 'tags[]=a&tags[]=b'; backend come Django o Spring richiedono la forma piatta 'tags=a&tags=b', risolvibile impostando 'traditional: true'.
Approfondimenti
- jQuery API Documentation / jQuery Core Issues documentazione_ufficiale