Server fails to read array parameters: jQuery sends 'items[]=1&items[]=2' instead of 'items=1&items=2' – jQuery AJAX_TRADITIONAL_PARAM_MISMATCH

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 comune

Diagnosi

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.

terminal
console.log(jQuery.fn.jquery); console.log($('.my-element').length);

Risoluzione

Risoluzione standard per Errore jQuery $.ajax: Serializzazione Parametri Array (traditional: true)

Difficoltà: facileRischio: basso

Applicare la correzione al codice o alla configurazione degli script jQuery nel frontend.

  1. Ispezionare la riga segnalata nella console del browser
  2. Correggere il selettore CSS, il passaggio dei parametri o la delegazione con .on()
  3. 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

Schede correlate