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'.
AJAX_TRADITIONAL_PARAM_MISMATCH
→
Quando 'jqXHR.status' vale esattamente 0, significa che la richiesta HTTP non è mai arrivata a destinazione o la risposta non è accessibile al codice: dispositivo offline, certificato SSL non valido, richiesta abortita o blocco della Same-Origin Policy.
AJAX_STATUS_ZERO
→
La chiamata supera l'intervallo di tempo massimo specificato nel parametro 'timeout: 5000' (5 secondi) senza ricevere risposta dal server; si intercetta verificando 'textStatus === "timeout"' nel callback di error.
AJAX_TIMEOUT_ERROR
→
Quando si utilizza '$el.load("url.html #target")' specificando un selettore di frammento, jQuery estrae solo la porzione HTML richiesta e cancella intenzionalmente tutti i tag '<script>' presenti nel documento scaricato per motivi di sicurezza.
AJAX_LOAD_SCRIPT_STRIP
→
Per impostazione predefinita '$.getScript()' imposta 'cache: false', appendendo un parametro anti-cache alla richiesta; per caricare script riutilizzando la cache del browser occorre configurare '$.ajaxSetup({ cache: true })'.
AJAX_SCRIPT_CACHE_DISABLED
→
I listener AJAX globali registrati su document (come ajaxStart, ajaxError, ajaxComplete) non vengono attivati per singole richieste se nella configurazione '$.ajax' è stato impostato 'global: false'.
AJAX_GLOBAL_EVENTS_MISCONFIGURED
→