{"id":60856,"date":"2022-10-18T08:56:42","date_gmt":"2022-10-18T07:56:42","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=60856&#038;post_type=knowledgebase&#038;preview_id=60856"},"modified":"2025-10-01T20:45:29","modified_gmt":"2025-10-01T19:45:29","slug":"richieste-http-javascript","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/","title":{"rendered":"Guida alle Richieste HTTP di JavaScript"},"content":{"rendered":"<p>L&#8217;interazione tra il <a href=\"https:\/\/kinsta.com\/it\/blog\/backend-vs-frontend\/\">frontend e il backend<\/a> dei siti web \u00e8 resa possibile dalle richieste HTTP. Funzionalit\u00e0 come l&#8217;aggiornamento di un nuovo\/vecchio utente in un database, la pubblicazione di un post sul blog dalla <a href=\"https:\/\/kinsta.com\/it\/blog\/amministrazione-wordpress\/\">bacheca di WordPress<\/a>, l&#8217;eliminazione di una foto dal proprio profilo e l&#8217;aggiornamento della biografia richiedono un&#8217;interazione tra un server e un client per modificare i dati.<\/p>\n<p>Quando realizziamo applicazioni web, sia frontend che full stack, spesso interagiamo con dati archiviati in diversi database e server. Questi server possono appartenere a terzi o essere creati dagli sviluppatori di un progetto.<\/p>\n\n<p>Per interagire con questi server, possiamo utilizzare diversi metodi HTTP per richiedere dati. Possiamo creare, leggere, aggiornare e cancellare (o CRUD) i dati sui server utilizzando verbi HTTP dedicati come POST, GET, PUT\/PATCH e DELETE.<\/p>\n<p>In questo tutorial impareremo i vari modi con cui fare richieste HTTP a server remoti ed eseguire operazioni CRUD <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\">in JavaScript<\/a>.<\/p>\n<p>Ogni sezione introdurr\u00e0 un nuovo metodo per inviare richieste HTTP. Inizieremo dai metodi integrati come l&#8217;API fetch e l&#8217;oggetto XMLHttpRequest prima di esaminare alcune librerie di richieste HTTP open-source come Axios e SuperAgent.<\/p>\n<p>Iniziamo!<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Cos&#8217;\u00e8 una Richiesta HTTP in JavaScript?<\/h2>\n<p>Le <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-una-richiesta-http\/\">richieste HTTP<\/a> in JavaScript sono un insieme di metodi predefiniti utilizzati per interagire con i dati memorizzati sui server.<\/p>\n<p>Ogni richiesta inviata a un server include un endpoint e il tipo di richiesta inviata. Un endpoint pu\u00f2 essere visto come un gateway tra due programmi\u02d0 il client e il server.<\/p>\n<p>Il client \u00e8 il programma che invia la richiesta, mentre il server \u00e8 quello che la riceve. Il server invia una risposta in base alla validit\u00e0 della richiesta. Se la richiesta va a buon fine, il server invia i dati in formato XML o JSON (JSON nella maggior parte dei casi); se la richiesta fallisce, il server invia un <a href=\"https:\/\/kinsta.com\/it\/blog\/errori-in-javascript\/\">messaggio di errore<\/a>.<\/p>\n<p>Le risposte inviate dal server sono solitamente associate a <a href=\"https:\/\/kinsta.com\/it\/blog\/codici-di-stato-http\/\">codici di stato<\/a>. Questi codici ci aiutano a capire cosa sta cercando di dire il server quando riceve una richiesta. Eccone alcuni e il loro significato:<\/p>\n<ul>\n<li>100-199 indica una risposta informativa.<\/li>\n<li>200-299 indica una richiesta andata a buon fine.<\/li>\n<li>300-399 indica un reindirizzamento.<\/li>\n<li>400-499 indica un errore del cliente.<\/li>\n<li>500-599 indica un <a href=\"https:\/\/kinsta.com\/it\/blog\/500-internal-server-error\/\">errore del server<\/a>.<\/li>\n<\/ul>\n<p>Ne parleremo pi\u00f9 approfonditamente nelle sezioni seguenti.<\/p>\n<p>Nella prossima sezione vedremo i diversi modi in cui \u00e8 possibile effettuare richieste HTTP in JavaScript.<\/p>\n<h2>Come Fare una Richiesta HTTP in JavaScript<\/h2>\n<p>Questa sezione sar\u00e0 suddivisa in sottosezioni, ognuna delle quali vi spiegher\u00e0 i diversi metodi da utilizzare per effettuare richieste HTTP in JavaScript.<\/p>\n<p>Ogni metodo discusso avr\u00e0 un esempio che mostra come inviare richieste POST, GET, PUT\/PATCH e DELETE ai server.<\/p>\n<p><a href=\"https:\/\/jsonplaceholder.typicode.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">JSON Placeholder<\/a> funger\u00e0 da server\/endpoint remoto dove verranno inviate tutte le nostre richieste.<\/p>\n<p>Tuffiamoci!<\/p>\n<h3>1. Come Fare una Richiesta HTTP in JavaScript Usando XMLHttpRequest (AJAX)<\/h3>\n<p>XMLHttpRequest \u00e8 un oggetto JavaScript integrato utilizzato per interagire con i server e caricare i contenuti delle pagine web senza ricaricare il browser.<\/p>\n<p>In questa sezione vedremo come inviare richieste POST, GET, PUT\/PATCH e DELETE utilizzando XMLHttpRequest.<\/p>\n<p>AJAX viene utilizzato per effettuare richieste HTTP asincrone. Ci\u00f2 significa semplicemente che mentre la risposta di una richiesta \u00e8 in attesa, altre parti del vostro codice JavaScript possono continuare a funzionare senza aspettare che la richiesta venga completata.<\/p>\n<p>Utilizzando AJAX \u00e8 anche possibile apportare modifiche a una particolare sezione della vostra pagina web senza costringere il visitatore a ricaricare l&#8217;intera pagina.<\/p>\n<p>AJAX, per impostazione predefinita, funziona con l&#8217;oggetto XMLHttpRequest, quindi gli esempi di questa sezione possono essere considerati come richieste AJAX.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Inizialmente, era possibile specificare se una richiesta doveva essere asincrona o meno utilizzando un parametro <code>true<\/code> (asincrono) e <code>false<\/code> nella richiesta, ma quest&#8217;ultima funzionalit\u00e0 \u00e8 ormai deprecata.<\/p>\n<\/aside>\n\n<h4>Come Inviare una Richiesta GET in JavaScript Utilizzando XMLHttpRequest<\/h4>\n<p>La richiesta GET viene utilizzata quando si desidera recuperare dei dati da un server. Per inviare una richiesta GET con successo utilizzando XMLHttpRequest in JavaScript, \u00e8 necessario assicurarsi che le seguenti operazioni siano eseguite correttamente:<\/p>\n<ol>\n<li>Creare un nuovo oggetto XMLHttpRequest.<\/li>\n<li>Aprire una connessione specificando il tipo di richiesta e l&#8217;endpoint (l&#8217;URL del server).<\/li>\n<li>Inviare la richiesta.<\/li>\n<li>Ascoltare la risposta del server.<\/li>\n<\/ol>\n<p>Ora che abbiamo visto alcuni dei passaggi necessari per inviare una richiesta POST utilizzando XMLHttpRequest, vediamo un esempio di codice\u02d0<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();\nxhr.open(\"GET\", \"https:\/\/jsonplaceholder.typicode.com\/users\");\nxhr.send();\nxhr.responseType = \"json\";\nxhr.onload = () =&gt; {\n  if (xhr.readyState == 4 && xhr.status == 200) {\n    const data = xhr.response;\n    console.log(data);\n  } else {\n    console.log(`Error: ${xhr.status}`);\n  }\n};<\/code><\/pre>\n<p>Scomponiamo il codice qui sopra per capire meglio cosa sta succedendo.<\/p>\n<p>La prima cosa da fare \u00e8 creare un nuovo oggetto XMLHttpRequest e memorizzarlo in una variabile chiamata <code>xhr<\/code>. Ovvero:<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();<\/code><\/pre>\n<p>Abbiamo quindi specificato il tipo di richiesta (GET) e l&#8217;endpoint a cui verr\u00e0 inviata la richiesta (in questo caso, &#8220;<a href=\"https:\/\/jsonplaceholder.typicode.com\/users\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/users<\/a>&#8220;)\u02d0<\/p>\n<pre><code class=\"language-js\">xhr.open(\"GET\", \"https:\/\/jsonplaceholder.typicode.com\/users\");<\/code><\/pre>\n<p>Per inviare la richiesta al server, abbiamo utilizzato il metodo <code> send()<\/code>.<\/p>\n<p>Quando il server invia i dati, \u00e8 possibile specificare il formato in cui questi vengono restituiti.<\/p>\n<p>Nella maggior parte dei casi viene utilizzato JSON. Quindi ci siamo assicurati che i nostri dati venissero restituiti in JSON aggiungendo questo:<\/p>\n<pre><code class=\"language-js\">xhr.responseType = \"json\";<\/code><\/pre>\n<p>A questo punto, abbiamo inviato con successo una richiesta GET. La prossima cosa da fare \u00e8 ascoltare ci\u00f2 che dice il server utilizzando un event listener:<\/p>\n<pre><code class=\"language-js\">xhr.onload = () =&gt; {\n  if (xhr.readyState == 4 && xhr.status == 200) {\n    const data = xhr.response;\n    console.log(data);\n  } else {\n    console.log(`Error: ${xhr.status}`);\n  }\n};<\/code><\/pre>\n<p>Nel codice qui sopra, stiamo utilizzando l&#8217;event listener <code>onload<\/code>. Utilizzando un&#8217;istruzione <code>if<\/code>, abbiamo controllato lo stato della risposta del server.<\/p>\n<p>Se lo stato del client \u00e8 4 (DONE) e se il codice di stato \u00e8 200 (richiesta andata a buon fine), i dati verranno registrati nella console. In caso contrario, verr\u00e0 visualizzato un messaggio che mostra lo stato di errore.<\/p>\n<p>Se avete seguito la procedura fino a questo punto senza alcun errore, dovreste avere un array di oggetti nella vostra console\u02d0<\/p>\n<pre><code class=\"language-js\">[{\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}]<\/code><\/pre>\n<p>Questi sono i dati recuperati dal server.<\/p>\n<h4>Come Inviare una Richiesta POST in JavaScript Utilizzando XMLHttpRequest<\/h4>\n<p>Con la richiesta POST \u00e8 possibile inviare nuove informazioni (dati) al server\/database sotto forma di oggetto. L&#8217;oggetto potrebbe essere un&#8217;informazione su un nuovo utente, una nuova voce di un elenco di cose da fare o qualsiasi altra cosa si abbia bisogno di registrare.<\/p>\n<p>L&#8217;esempio di codice che vedrete in questa sezione \u00e8 simile a quello dell&#8217;ultima sezione. La differenza principale \u00e8 che le richieste POST richiedono alcune informazioni che di solito vengono memorizzate in un oggetto prima di essere inviate al server.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();\nxhr.open(\"POST\", \"https:\/\/jsonplaceholder.typicode.com\/posts\");\nxhr.setRequestHeader(\"Content-Type\", \"application\/x-www-form-urlencoded\");\nconst body = JSON.stringify({\n  title: \"Hello World\",\n  body: \"My POST request\",\n  userId: 900,\n});\nxhr.onload = () =&gt; {\n  if (xhr.readyState == 4 && xhr.status == 201) {\n    console.log(JSON.parse(xhr.responseText));\n  } else {\n    console.log(`Error: ${xhr.status}`);\n  }\n};\nxhr.send(body);<\/code><\/pre>\n<p>Nel codice qui sopra, le informazioni da inviare al server sono memorizzate in una variabile chiamata <code>body<\/code>. Essa contiene tre propriet\u00e0\u02d0 <code>title<\/code>, <code>body<\/code> e <code>userId<\/code>.<\/p>\n<p>\u00c8 importante notare che la variabile <code>body<\/code> che contiene l&#8217;oggetto deve essere convertita in un oggetto JSON prima di essere inviata al server. La conversione avviene con il metodo <code>JSON.stringify()<\/code>.<\/p>\n<p>Per assicurarsi che l&#8217;oggetto JSON venga inviato al server, viene passato come parametro al metodo <code>send()<\/code>:<\/p>\n<pre><code class=\"language-js\">xhr.send(body);<\/code><\/pre>\n<h4>Come Inviare una Richiesta PATCH in JavaScript Utilizzando XMLHttpRequest<\/h4>\n<p>La richiesta PATCH viene utilizzata per aggiornare le propriet\u00e0 specificate di un oggetto. \u00c8 diversa dal metodo PUT, che aggiorna l&#8217;intero oggetto.<\/p>\n<p>Ecco un esempio di richiesta PATCH utilizzando XMLHttpRequest in JavaScript:<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();\nxhr.open(\"PATCH\", \"https:\/\/jsonplaceholder.typicode.com\/posts\/101\");\nxhr.setRequestHeader(\"Content-type\", \"application\/json; charset=utf-8\");\nconst body = JSON.stringify({\n  body: \"My PATCH request\",\n});\nxhr.onload = () =&gt; {\n  var data = JSON.parse(xhr.responseText);\n  if (xhr.readyState == 4 && xhr.status == \"200\") {\n    console.log(data);\n  } else {\n    console.log(`Error: ${xhr.status}`);\n  }\n};\nxhr.send(body);<\/code><\/pre>\n<p>Il codice qui sopra, se ha successo, registrer\u00e0 la parte dell&#8217;oggetto che \u00e8 stata aggiornata e inviata al server.<\/p>\n<h4>Come Inviare una Richiesta DELETE in JavaScript Usando XMLHttpRequest<\/h4>\n<p>Come suggerisce il nome, il metodo DELETE viene utilizzato per cancellare i dati da un server. Questo \u00e8 lo stesso metodo HTTP di JavaScript.<\/p>\n<p>Nella maggior parte dei casi, dovrete specificare l&#8217;ID dei dati che volete cancellare. L&#8217;ID \u00e8 solitamente un parametro dell&#8217;endpoint\/URL.<\/p>\n<p>Vediamo un esempio di richiesta DELETE\u02d0<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();\nxhr.open(\"DELETE\", \"https:\/\/jsonplaceholder.typicode.com\/posts\/3\");\nxhr.onload = function () {\n  var data = JSON.parse(xhr.responseText);\n  if (xhr.readyState == 4 && xhr.status == \"200\") {\n    console.log(data);\n  } else {\n    console.log(`Error: ${xhr.status}`);\n  }\n};\nxhr.send();<\/code><\/pre>\n<p>Il codice qui sopra canceller\u00e0 un oggetto con un post con ID 3 come specificato nell&#8217;endpoint (&#8220;<a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/3\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/posts\/3<\/a>&#8220;).<\/p>\n<h3>2. Come Effettuare una Richiesta HTTP in JavaScript con jQuery<\/h3>\n<p>jQuery semplifica il processo di acquisizione dei dati dai server rendendo la sintassi pi\u00f9 breve e diretta.<\/p>\n<p>In questa sezione vedremo come effettuare richieste <a href=\"https:\/\/kinsta.com\/it\/blog\/http3\/\">HTTP<\/a> utilizzando diversi metodi jQuery.<\/p>\n<h4>Come Inviare una Richiesta GET in JavaScript con jQuery<\/h4>\n<p>jQuery ci fornisce il metodo <code>$.get()<\/code> per inviare richieste GET ai server. Il metodo accetta due parametri: l&#8217;URL del server e una funzione di callback che viene eseguita se la richiesta ha successo.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">$.get(\"https:\/\/jsonplaceholder.typicode.com\/users\", (data, status) =&gt; {\n  console.log(data);\n});<\/code><\/pre>\n<p>Come si pu\u00f2 vedere nel codice qui sopra, il metodo <code>$.get()<\/code> ha come parametri l&#8217;URL (<a href=\"https:\/\/jsonplaceholder.typicode.com\/users\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/users<\/a>) e una funzione di callback anonima.<\/p>\n<p>Attraverso la funzione di callback, \u00e8 possibile accedere ai dati della richiesta e al suo stato. Nel nostro caso, abbiamo registrato i dati nella console.<\/p>\n<p>Ecco quanto \u00e8 semplice inviare una richiesta GET con jQuery.<\/p>\n<h4>Come Inviare una Richiesta POST in JavaScript con jQuery<\/h4>\n<p>Per inviare una richiesta POST con jQuery, usiamo il metodo <code>$.post()<\/code>. Il metodo richiede tre parametri: l&#8217;URL, i dati da inviare al server e una funzione di callback.<\/p>\n<pre><code class=\"language-js\">const body = JSON.stringify({\n  title: \"Hello World\",\n  body: \"My POST request\",\n  userId: 900,\n});\n$.post(\"https:\/\/jsonplaceholder.typicode.com\/users\", body, (data, status) =&gt; {\n  console.log(data);\n});<\/code><\/pre>\n<p>Nel codice precedente, abbiamo creato un oggetto da inviare al server e lo abbiamo memorizzato in una variabile chiamata <code>body<\/code>. Questa variabile \u00e8 stata passata come secondo parametro nel metodo <code>$.post()<\/code>.<\/p>\n<p>Utilizzando la funzione callback, abbiamo registrato il risultato della richiesta nella console.<\/p>\n<h3>3. Come Effettuare Richieste Asincrone in jQuery Utilizzando il Metodo $.ajax()<\/h3>\n<p>Prima di procedere all&#8217;invio di richieste PATCH e DELETE, parliamo del metodo <code>$.ajax()<\/code>.<\/p>\n<p>Il metodo <code>$.ajax()<\/code> di jQuery \u00e8 utilizzato per effettuare richieste asincrone.<\/p>\n<p>La sintassi \u00e8 diversa dalle altre.<\/p>\n<p>Ecco come effettuare una richiesta GET utilizzando il metodo <code>$.ajax()<\/code>:<\/p>\n<pre><code class=\"language-js\">$.ajax({\n  url: \"https:\/\/jsonplaceholder.typicode.com\/users\",\n  type: \"GET\",\n  success: function (result) {\n    console.log(result);\n  },\n});<\/code><\/pre>\n<p>Il metodo <code>$.ajax()<\/code> ha diversi parametri che possiamo utilizzare.<\/p>\n<p>Nel codice qui sopra, il parametro <code>url<\/code> specifica l&#8217;URL del server, il parametro <code>type<\/code> specifica il tipo di richiesta e il parametro <code>success<\/code> chiama una funzione di callback se la richiesta ha successo.<\/p>\n<p>Nella prossima sezione vedremo come inviare richieste PATCH e DELETE utilizzando il metodo <code>$.ajax()<\/code> di jQuery.<\/p>\n<h4>Come Inviare una Richiesta PATCH in JavaScript Utilizzando il Metodo $.ajax() di jQuery<\/h4>\n<p>In questa sezione vedremo come inviare richieste PATCH utilizzando il metodo <code>$.ajax()<\/code> di jQuery.<\/p>\n<p>Ecco il codice:<\/p>\n<pre><code class=\"language-js\">const body = JSON.stringify({\n  body: \"My PATCH request\",\n});\n$.ajax({\n  url: \"https:\/\/jsonplaceholder.typicode.com\/posts\/101\",\n  type: \"PATCH\",\n  data: body,\n  success: function (result) {\n    console.log(result);\n  },\n});<\/code><\/pre>\n<p>Nel codice qui sopra, la propriet\u00e0 da aggiornare viene memorizzata nella variabile <code>body<\/code>. Questa viene poi utilizzata come valore per il parametro <code>data<\/code>.<\/p>\n<p>Se la richiesta va a buon fine, verr\u00e0 eseguita la funzione del parametro <code>success<\/code>.<\/p>\n<h4>Come Inviare una Richiesta DELETE in JavaScript con il Metodo $.ajax() di jQuery<\/h4>\n<p>L&#8217;invio di una richiesta DELETE utilizzando il metodo <code>$.ajax()<\/code> di jQuery richiede solo poche righe di codice.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">$.ajax({\n  url: \"https:\/\/jsonplaceholder.typicode.com\/posts\/3\",\n  type: \"DELETE\",\n  success: function (result) {\n    console.log(result)\n  },\n});<\/code><\/pre>\n<p>Come si pu\u00f2 vedere qui sopra, \u00e8 bastato specificare l&#8217;URL con l&#8217;ID dell&#8217;oggetto da cancellare, il tipo di richiesta e una funzione che viene eseguita se la richiesta va a buon fine.<\/p>\n<h4>Come Usare il Metodo $.getJSON in jQuery<\/h4>\n<p>Il metodo <code>$.getJSON<\/code> offre un modo pi\u00f9 breve per inviare richieste GET.<\/p>\n<p>Per effettuare una richiesta con successo, dovete solo specificare l&#8217;URL e la funzione di callback. Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">$.getJSON(\"https:\/\/jsonplaceholder.typicode.com\/users\", function (result) {\n  console.log(result)\n});<\/code><\/pre>\n<p>Nel codice qui sopra, abbiamo passato l&#8217;URL al server e la funzione che viene eseguita dopo che la richiesta \u00e8 andata a buon fine come parametri del metodo <code>$.getJSON<\/code>.<\/p>\n<p>Il codice precedente registrer\u00e0 nella console un array di oggetti contenenti informazioni sull&#8217;utente.<\/p>\n<h3>4. Come Effettuare una Richiesta HTTP in JavaScript Utilizzando l&#8217;API Fetch<\/h3>\n<p>L&#8217;API <code>fetch<\/code> \u00e8 uno dei metodi pi\u00f9 diffusi per interagire con i server utilizzando JavaScript. \u00c8 un&#8217;API nativa di JavaScript che supporta le promise durante le richieste.<\/p>\n<p>La sintassi per utilizzare l&#8217;API <code>fetch<\/code> \u00e8 molto semplice da capire, come vedrete nelle sezioni seguenti.<\/p>\n<h4>Come Inviare una Richiesta GET in JavaScript Utilizzando l&#8217;API Fetch<\/h4>\n<p>L&#8217;invio di una richiesta GET tramite l&#8217;API <code>fetch<\/code> richiede solo l&#8217;URL. Questo restituisce una promise alla quale \u00e8 possibile accedere utilizzando il metodo <code>then()<\/code> o le parole chiave <code>async<\/code> e <code>await<\/code>.<\/p>\n<p>Vediamo un esempio:<\/p>\n<pre><code class=\"language-js\">fetch(\"https:\/\/jsonplaceholder.typicode.com\/posts\")\n.then((response) =&gt; response.json())\n.then((json) =&gt; console.log(json));<\/code><\/pre>\n<p>Nel codice qui sopra, abbiamo passato l&#8217;URL al metodo <code>fetch<\/code>; questo restituisce una promise. Abbiamo poi avuto accesso alla risposta del server utilizzando il metodo <code>then()<\/code>. La risposta \u00e8 stata convertita in un oggetto JSON con il metodo <code>response.json()<\/code>.<\/p>\n<p>Dopo aver ottenuto la risposta, abbiamo utilizzato un altro metodo <code>then()<\/code> per registrare i dati nella console.<\/p>\n<h4>Come Inviare una Richiesta POST in JavaScript Utilizzando l&#8217;API Fetch<\/h4>\n<p>Il metodo fetch ha un secondo parametro che ci permette di specificare il corpo (i dati da inviare) e il tipo di richiesta da inviare. Questo secondo parametro ci permette di inviare richieste POST e PATCH.<\/p>\n<p>Date un&#8217;occhiata a questo esempio di codice:<\/p>\n<pre><code class=\"language-js\">fetch(\"https:\/\/jsonplaceholder.typicode.com\/posts\", {\n  method: \"POST\",\n  body: JSON.stringify({\n    title: \"Hello World\",\n    body: \"My POST request\",\n    userId: 900,\n  }),\n  headers: {\n    \"Content-type\": \"application\/json; charset=UTF-8\",\n  },\n})\n.then((response) =&gt; response.json())\n.then((json) =&gt; console.log(json));<\/code><\/pre>\n<p>Nel codice qui sopra, abbiamo aggiunto delle opzioni di richiesta nel secondo parametro del metodo <code>fetch<\/code>. <code>method<\/code> \u00e8 stato usato per specificare il tipo di richiesta, <code>body<\/code> ha specificato i dati da inviare al server e <code>headers<\/code> \u00e8 stato usato per specificare che avremmo inviato dati JSON al server.<\/p>\n<p>Come abbiamo fatto in precedenza per l&#8217;invio di una richiesta GET, la promise\/risposta restituita era accessibile con il metodo <code>then()<\/code>.<\/p>\n<h4>Come Inviare una Richiesta PUT in JavaScript Utilizzando l&#8217;API Fetch<\/h4>\n<p>Nelle altre sezioni in cui abbiamo inviato una richiesta per aggiornare un oggetto nel server, abbiamo utilizzato PATCH. In questa sezione useremo PUT, che permette di aggiornare l&#8217;intero oggetto.<\/p>\n<p>Ecco un esempio che utilizza l&#8217;API <code>fetch<\/code>:<\/p>\n<pre><code class=\"language-js\">fetch(\"https:\/\/jsonplaceholder.typicode.com\/posts\/1\", {\n  method: \"PUT\",\n  body: JSON.stringify({\n    id: 1,\n    title: \"My PUT request\",\n    body: \"Updating the entire object\",\n    userId: 1,\n  }),\n  headers: {\n    \"Content-type\": \"application\/json; charset=UTF-8\",\n  },\n})\n.then((response) =&gt; response.json())\n.then((json) =&gt; console.log(json));<\/code><\/pre>\n<p>Poich\u00e9 stiamo inviando una richiesta PUT, dobbiamo fornire i dati da aggiornare, che vengono passati come valore all&#8217;opzione di richiesta <code>body<\/code>.<\/p>\n<p>Abbiamo anche specificato l&#8217;ID dell&#8217;oggetto da aggiornare come ultimo parametro dell&#8217;URL. Se la richiesta viene eseguita correttamente, dovreste vedere l&#8217;oggetto aggiornato registrato nella console.<\/p>\n<h4>Come Inviare una Richiesta DELETE in JavaScript Utilizzando l&#8217;API Fetch<\/h4>\n<p>L&#8217;invio di una richiesta DELETE \u00e8 piuttosto semplice: tutto ci\u00f2 che dovete fare \u00e8 specificare l&#8217;ID dell&#8217;oggetto da eliminare. \u00c8 possibile utilizzare il metodo <code>then()<\/code> per ricevere la risposta dal server, come abbiamo fatto con le altre richieste.<\/p>\n<p>Ecco un rapido esempio:<\/p>\n<pre><code class=\"language-js\">fetch(\"https:\/\/jsonplaceholder.typicode.com\/posts\/3\", {\n  method: \"DELETE\",\n});<\/code><\/pre>\n<p>Il codice qui sopra canceller\u00e0 un oggetto con un ID pari a 3.<\/p>\n<h3>5. Come Effettuare una Richiesta HTTP in JavaScript con Axios<\/h3>\n<p>Axios \u00e8 una libreria di terze parti basata su &#8220;promises&#8221; per l&#8217;invio di richieste HTTP. Come la maggior parte dei client HTTP moderni, semplifica il processo di invio delle richieste a un server.<\/p>\n<p>In questa sezione scoprirete come inviare richieste GET, POST, PUT e DELETE a un server utilizzando Axios.<\/p>\n<p>\u00c8 importante notare che Axios non \u00e8 integrato in JavaScript: dovrete installarlo separatamente per poterne utilizzare le funzionalit\u00e0. Per installare Axios nel vostro progetto, eseguite il comando seguente nel <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-npm\/\">terminale del progetto<\/a>:<\/p>\n<pre><code class=\"language-js\">npm install axios<\/code><\/pre>\n<h4>Come Inviare una Richiesta GET in JavaScript Usando Axios<\/h4>\n<p>Per inviare una richiesta GET con Axios, dovete solo passare l&#8217;URL al metodo <code>get()<\/code>, che restituisce una promise. La risposta restituita dalla promise pu\u00f2 essere consultata con il metodo <code>then()<\/code>.<\/p>\n<p>Vediamo un esempio:<\/p>\n<pre><code class=\"language-js\">axios.get(\"https:\/\/jsonplaceholder.typicode.com\/posts\")\n.then((response) =&gt; console.log(response.data))\n.catch((error) =&gt; console.log(error));<\/code><\/pre>\n<p>Il codice qui sopra riporta un array di oggetti contenenti i dati restituiti dal server. Noterete che non abbiamo dovuto cambiare gli oggetti restituiti in oggetti JSON: Axios gestisce questo aspetto in background e potrete accedere ai dati usando <code>response.data<\/code>.<\/p>\n<p>Per individuare eventuali errori, abbiamo utilizzato il metodo <code>catch()<\/code>.<\/p>\n<h4>Come Inviare una Richiesta POST in JavaScript con Axios<\/h4>\n<p>La richiesta POST di Axios richiede due parametri: l&#8217;URL e i dati da inviare al server. \u00c8 possibile memorizzare i dati in una variabile o passarli direttamente come parametro.<\/p>\n<p>Ecco come fare:<\/p>\n<pre><code class=\"language-js\">axios.post(\"https:\/\/jsonplaceholder.typicode.com\/posts\", {\n  title: \"POST request with Axios\",\n  body: \"POST request\",\n  userId: 10,\n})\n.then(function (response) {\n  console.log(response.data);\n})\n.then((error) =&gt; console.log(error))<\/code><\/pre>\n<p>Nell&#8217;esempio precedente, stiamo inviando dei dati al server. I dati vengono passati come secondo parametro del metodo <code>post()<\/code>.<\/p>\n<p>Se la richiesta viene inviata con successo, vedrete il risultato registrato nella console.<\/p>\n<h4>Come Inviare una Richiesta PUT in JavaScript con Axios<\/h4>\n<p>L&#8217;invio di una richiesta PUT con Axios \u00e8 simile all&#8217;invio di una richiesta POST. Per inviare una richiesta PUT, dovrete specificare l&#8217;URL (compreso l&#8217;ID dell&#8217;oggetto da aggiornare) e i dati da aggiornare come secondo parametro del metodo <code>put()<\/code>.<\/p>\n<p>L&#8217;esempio che segue aggiorna un oggetto con ID 10:<\/p>\n<pre><code class=\"language-js\">axios.put(\"https:\/\/jsonplaceholder.typicode.com\/posts\/10\", {\n  title: \"PUT request with Axios\",\n  body: \"PUT request\",\n  userId: 10,\n})\n.then(function (response) {\n  console.log(response.data);\n})\n.then((error) =&gt; console.log(error))<\/code><\/pre>\n<h4>Come inviare una richiesta DELETE in JavaScript con Axios<\/h4>\n<p>Per inviare una richiesta di DELETE, dovete specificare l&#8217;ID dell&#8217;oggetto da eliminare nell&#8217;URL.<\/p>\n<p>Come al solito, dovrete specificare l&#8217;URL insieme all&#8217;ID dell&#8217;oggetto da cancellare.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">axios.delete(\"https:\/\/jsonplaceholder.typicode.com\/posts\/10\")\n.then(function (response) {\n  console.log(response);\n})\n.then((error) =&gt; console.log(error))<\/code><\/pre>\n<h3>6. Come Fare una Richiesta HTTP in JavaScript con SuperAgent<\/h3>\n<p>SuperAgent \u00e8 una delle pi\u00f9 antiche librerie create per effettuare richieste HTTP in JavaScript. Proprio come Axios, supporta le promise e dispone di metodi predefiniti per inviare varie richieste HTTP ai server.<\/p>\n<p>Per utilizzare SuperAgent, installatela utilizzando il comando seguente:<\/p>\n<pre><code class=\"language-js\">npm install superagent<\/code><\/pre>\n<p>Inizieremo con un esempio di richiesta GET.<\/p>\n<h4>Come Inviare una Richiesta GET in JavaScript usando SuperAgent<\/h4>\n<p>SuperAgent ci fornisce un metodo <code>get()<\/code> per inviare richieste GET. L&#8217;URL viene passato come parametro del metodo.<\/p>\n<p>La promise restituita dalla richiesta pu\u00f2 essere valutata con il metodo <code>end()<\/code>, come si vede in questo esempio:<\/p>\n<pre><code class=\"language-js\">superagent\n.get(\"https:\/\/jsonplaceholder.typicode.com\/posts\")\n.end((error, response) =&gt; {\n  console.log(response.body);\n});<\/code><\/pre>\n<h4>Come Inviare una Richiesta POST in JavaScript con SuperAgent<\/h4>\n<p>Quando si invia una richiesta POST utilizzando SuperAgent, si passano i dati da inviare al server come parametro al metodo <code>send()<\/code> di SuperAgent:<\/p>\n<pre><code class=\"language-js\">superagent\n.post(\"https:\/\/jsonplaceholder.typicode.com\/posts\")\n.send({\n  title: \"POST request with SuperAgent\",\n  body: \"POST request\",\n  userId: 10,\n})\n.set(\"X-API-Key\", \"foobar\")\n.set(\"accept\", \"json\")\n.end((err, res) =&gt; {\n  console.log(res.body);\n});<\/code><\/pre>\n<p>Nel codice qui sopra, l&#8217;URL \u00e8 stato passato come parametro del metodo <code>post()<\/code>. I dati da inviare sono stati passati al metodo <code>send()<\/code>. Utilizzando il metodo <code>end()<\/code>, abbiamo ottenuto il risultato della risposta del server.<\/p>\n<h4>Come Inviare una Richiesta PUT in JavaScript con SuperAgent<\/h4>\n<p>\u00c8 possibile inviare una richiesta PUT in SuperAgent utilizzando il metodo <code>put()<\/code>. Proprio come nell&#8217;esempio dell&#8217;ultima sezione, i dati da aggiornare devono essere passati come parametro al metodo <code>send()<\/code>.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">superagent\n.put(\"https:\/\/jsonplaceholder.typicode.com\/posts\/10\")\n.send({\n  title: \"PUT request with SuperAgent\",\n  body: \"PUT request\",\n  userId: 10,\n})\n.set(\"X-API-Key\", \"foobar\")\n.set(\"accept\", \"json\")\n.end((err, res) =&gt; {\n  console.log(res.body);\n});<\/code><\/pre>\n<h4>Come Inviare una Richiesta di Cancellazione in JavaScript con SuperAgent<\/h4>\n<p>Per inviare una richiesta di cancellazione, \u00e8 semplicemente necessario specificare l&#8217;ID dell&#8217;oggetto da cancellare nell&#8217;URL. Questo verr\u00e0 utilizzato come parametro nel metodo <code>delete()<\/code>.<\/p>\n<pre><code class=\"language-js\">superagent\n.delete(\"https:\/\/jsonplaceholder.typicode.com\/posts\/10\")\n.end((err, res) =&gt; {\n  console.log(res.body);\n});<\/code><\/pre>\n<h3>7. Come Effettuare una Richiesta HTTP in JavaScript con Qwest<\/h3>\n<p>Qwest \u00e8 una libreria AJAX usata per interagire con i server. Attualmente \u00e8 archiviata su <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-github\/\">GitHub<\/a> &#8211; il creatore ha interrotto la manutenzione della libreria con l&#8217;avvento delle API <code>fetch<\/code> e di Axios.<\/p>\n<p>Qwest supporta anche l&#8217;uso delle promise.<\/p>\n<p>Nelle seguenti sottosezioni vedremo come inviare richieste GET, POST, PUT e DELETE utilizzando Qwest.<\/p>\n<h4>Come Inviare una Richiesta GET in JavaScript con Qwest<\/h4>\n<p>Qwest dispone di un metodo <code>get()<\/code> che pu\u00f2 essere utilizzato per inviare richieste GET. Ecco come utilizzarlo:<\/p>\n<pre><code class=\"language-js\">qwest.get(\"https:\/\/jsonplaceholder.typicode.com\/posts\")\n\n.then((xhr, response) =&gt; console.log(response));<\/code><\/pre>\n<h4>Come Inviare una Richiesta POST in JavaScript con Qwest<\/h4>\n<p>Come secondo parametro, al metodo <code>post()<\/code> vengono passati i dati da inviare al server. Il primo parametro \u00e8 l&#8217;URL.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">qwest.post(\"https:\/\/jsonplaceholder.typicode.com\/posts\", {\n  title: 'POST request with Qwest',\n  body: 'POST request',\n  userId: 30\n})\n.then(function(xhr, response) {\n  console.log(response)\n})\n.catch(function(e, xhr, response) {\n  console.log(e)\n});<\/code><\/pre>\n<h4>Come Inviare una Richiesta PUT in JavaScript utilizzando Qwest<\/h4>\n<p>La sintassi \u00e8 la stessa della sezione precedente. Tutto ci\u00f2 che dovrete cambiare \u00e8 il tipo di richiesta e poi specificare l&#8217;ID dell&#8217;oggetto da aggiornare e i dati con cui si vuole aggiornare l&#8217;oggetto.<\/p>\n<p>Date un&#8217;occhiata a questo esempio:<\/p>\n<pre><code class=\"language-js\">qwest.put(\"https:\/\/jsonplaceholder.typicode.com\/posts\/30\", {\n  title: 'PUT request with Qwest',\n  body: 'PUT request',\n  userId: 30\n})\n.then(function(xhr, response) {\n  console.log(response)\n})\n.catch(function(e, xhr, response) {\n  console.log(e)\n});<\/code><\/pre>\n<p>\u00c8 bene notare che l&#8217;ID viene specificato nell&#8217;URL e non nell&#8217;oggetto inviato al server.<\/p>\n<h4>Come Inviare una Richiesta DELETE in JavaScript con Qwest<\/h4>\n<p>Come al solito, per cancellare un oggetto da un server, \u00e8 necessario specificare l&#8217;URL e l&#8217;ID dell&#8217;oggetto da cancellare. Sia l&#8217;URL che l&#8217;ID dell&#8217;oggetto da cancellare saranno passati come parametro al metodo <code>delete()<\/code> di Qwest.<\/p>\n<p>Ecco un esempio:<\/p>\n<pre><code class=\"language-js\">qwest.delete(\"https:\/\/jsonplaceholder.typicode.com\/posts\/30\")\n.then(function(xhr, response) {\n  console.log(response)\n})\n.catch(function(e, xhr, response) {\n  console.log(e)\n});<\/code><\/pre>\n<p>Una volta che la richiesta \u00e8 stata eseguita con successo, verr\u00e0 eliminato un oggetto con l&#8217;ID 30.<\/p>\n<h2>Riepilogo<\/h2>\n<p>La nostra capacit\u00e0 di interagire con i server utilizzando JavaScript si \u00e8 evoluta nel corso degli anni. Con una comunit\u00e0 di <a href=\"https:\/\/kinsta.com\/it\/blog\/sviluppatore-frontend\/\">sviluppatori JavaScript<\/a> sempre pi\u00f9 attiva, vengono apportate continue modifiche e introdotti nuovi strumenti per rendere il processo pi\u00f9 semplice.<\/p>\n<p>I metodi discussi in questo tutorial non si applicano solo ai server remoti, ma possono essere utilizzati anche per interagire con i propri server durante la creazione di applicazioni web full stack. Funzionano anche con numerose <a href=\"https:\/\/kinsta.com\/it\/blog\/librerie-javascript\/\">librerie e framework JavaScript<\/a>.<\/p>\n\n<p>In questo tutorial vi abbiamo insegnato come effettuare richieste HTTP in JavaScript. Abbiamo fornito vari esempi e spiegazioni che mostrano come inviare richieste GET, POST, PUT\/PATCH e DELETE utilizzando metodi JavaScript integrati e librerie di terze parti.<\/p>\n<p>Costruire e distribuire un sito web pu\u00f2 essere impegnativo, indipendentemente dalle vostre competenze. Ma Kinsta rende tutto pi\u00f9 semplice e rapido con DevKinsta. Utilizzato da oltre 25.000 sviluppatori, web designer e freelance, DevKinsta offre un ambiente locale per lo sviluppo di temi, plugin e altro per WordPress. <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/\">Date un&#8217;occhiata!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;interazione tra il frontend e il backend dei siti web \u00e8 resa possibile dalle richieste HTTP. Funzionalit\u00e0 come l&#8217;aggiornamento di un nuovo\/vecchio utente in un database, &#8230;<\/p>\n","protected":false},"author":240,"featured_media":60857,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[26119,25648,26209,32,67],"topic":[25847],"class_list":["post-60856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-codici-di-stato-http","tag-javascript","tag-richieste-http","tag-sviluppo-web","tag-webdev","topic-tutorial-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Guida alle Richieste HTTP di JavaScript<\/title>\n<meta name=\"description\" content=\"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guida alle Richieste HTTP di JavaScript\" \/>\n<meta property=\"og:description\" content=\"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-18T07:56:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:45:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ihechikara Abba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"Guida alle Richieste HTTP di JavaScript\",\"datePublished\":\"2022-10-18T07:56:42+00:00\",\"dateModified\":\"2025-10-01T19:45:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\"},\"wordCount\":3235,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\",\"keywords\":[\"Codici di Stato HTTP\",\"JavaScript\",\"richieste http\",\"sviluppo web\",\"webdev\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\",\"name\":\"Guida alle Richieste HTTP di JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\",\"datePublished\":\"2022-10-18T07:56:42+00:00\",\"dateModified\":\"2025-10-01T19:45:29+00:00\",\"description\":\"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial JavaScript\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/tutorial-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guida alle Richieste HTTP di JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"caption\":\"Ihechikara Abba\"},\"description\":\"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Guida alle Richieste HTTP di JavaScript","description":"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/","og_locale":"it_IT","og_type":"article","og_title":"Guida alle Richieste HTTP di JavaScript","og_description":"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.","og_url":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2022-10-18T07:56:42+00:00","article_modified_time":"2025-10-01T19:45:29+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Ihechikara Abba","Tempo di lettura stimato":"20 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"Guida alle Richieste HTTP di JavaScript","datePublished":"2022-10-18T07:56:42+00:00","dateModified":"2025-10-01T19:45:29+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/"},"wordCount":3235,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","keywords":["Codici di Stato HTTP","JavaScript","richieste http","sviluppo web","webdev"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/","url":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/","name":"Guida alle Richieste HTTP di JavaScript","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","datePublished":"2022-10-18T07:56:42+00:00","dateModified":"2025-10-01T19:45:29+00:00","description":"La Knowledge Base di Kinsta ha le risposte a qualsiasi domanda, dalle domande sugli account e sulla fatturazione a quelle generali su WordPress e sul supporto.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/javascript-http-request.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/richieste-http-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Tutorial JavaScript","item":"https:\/\/kinsta.com\/it\/argomenti\/tutorial-javascript\/"},{"@type":"ListItem","position":3,"name":"Guida alle Richieste HTTP di JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","caption":"Ihechikara Abba"},"description":"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.","url":"https:\/\/kinsta.com\/it\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=60856"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60856\/revisions"}],"predecessor-version":[{"id":67766,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60856\/revisions\/67766"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60856\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/60857"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=60856"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=60856"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=60856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}