jQuery Invio di dati JSON


Esempio

jQuery rende la gestione delle risposte jSON indolore, ma è necessario un po 'più di lavoro quando una determinata richiesta ti chiede di inviare dati in formato JSON:

 $.ajax("/json-consuming-route", {
      data: JSON.stringify({author: {name: "Bullwinkle J. Moose", 
                                     email: "bullwinkle@example.com"} }),
      method: "POST",
      contentType: "application/json"
   });

Osserva che stiamo specificando il contentType corretto per i dati che inviamo; questa è una buona pratica in generale e potrebbe essere richiesta dall'API che stai postando, ma ha anche l'effetto collaterale di istruire jQuery a non eseguire la conversione predefinita di %20 a + , cosa che farebbe se contentType fosse lasciato al valore predefinito di application/x-www-form-urlencoded . Se per qualche motivo devi lasciare contentType impostato su default, assicurati di impostare processData su false per impedirlo.

La chiamata a JSON.stringify potrebbe essere evitata qui, ma usarla ci consente di fornire i dati sotto forma di un oggetto JavaScript (evitando così di mettere in imbarazzo gli errori di sintassi JSON, come mancare di citare i nomi delle proprietà).