{"id":46465,"date":"2022-10-18T08:07:06","date_gmt":"2022-10-18T08:07:06","guid":{"rendered":"https:\/\/kinqsta.com\/se\/?p=46465&#038;post_type=knowledgebase&#038;preview_id=46465"},"modified":"2025-10-01T20:02:25","modified_gmt":"2025-10-01T20:02:25","slug":"javascript-http-begaranden","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/","title":{"rendered":"En guide till JavaScript HTTP-beg\u00e4randen"},"content":{"rendered":"<p>Interaktionen mellan webbplatsers <a href=\"https:\/\/kinqsta.com\/blog\/backend-vs-frontend\/\">frontend och backend<\/a> m\u00f6jligg\u00f6rs genom HTTP-f\u00f6rfr\u00e5gningar. Du kanske vill uppdatera en ny\/gammal anv\u00e4ndare i en databas, publicera ett blogginl\u00e4gg fr\u00e5n din <a href=\"https:\/\/kinqsta.com\/se\/blog\/wordpress-admin\/\">WordPress-instrumentpanel<\/a>, ta bort en bild fr\u00e5n din profil och uppdatera din biografi. Alla dessa funktioner kr\u00e4ver en interaktion mellan en server och en klient f\u00f6r att \u00e4ndra data.<\/p>\n<p>N\u00e4r vi bygger webbapplikationer &#8211; b\u00e5de frontend- och fullstackwebbapplikationer &#8211; interagerar vi ofta med data som lagras i olika databaser och servrar. Dessa servrar kan tillh\u00f6ra tredje part eller skapas av projektets utvecklare.<\/p>\n\n<p>F\u00f6r att interagera med dessa servrar s\u00e5 kan vi anv\u00e4nda oss av olika HTTP-metoder f\u00f6r att beg\u00e4ra data. Vi kan skapa, l\u00e4sa, uppdatera och radera (eller CRUD) data p\u00e5 servrar med hj\u00e4lp av s\u00e4rskilda HTTP-verb. Detta handlar exempelvis om POST, GET, PUT\/PATCH och DELETE.<\/p>\n<p>I den h\u00e4r handledningen s\u00e5 f\u00e5r du l\u00e4ra dig de olika s\u00e4tten att g\u00f6ra HTTP-f\u00f6rfr\u00e5gningar till fj\u00e4rrservrar. Du f\u00e5r \u00e4ven veta hur man utf\u00f6r CRUD-operationer <a href=\"https:\/\/kinqsta.com\/blog\/what-is-javascript\/\">i JavaScript<\/a>.<\/p>\n<p>Varje avsnitt kommer att presentera en ny metod f\u00f6r att skicka HTTP-beg\u00e4randen. Vi b\u00f6rjar med de inbyggda metoderna som fetch API och XMLHttpRequest-objektet. Efter detta s\u00e5 tittar vi p\u00e5 n\u00e5gra HTTP-f\u00f6rfr\u00e5gningsbibliotek med \u00f6ppen k\u00e4llkod som Axios och SuperAgent.<\/p>\n<p>Nu s\u00e4tter vi ig\u00e5ng!<\/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>Vad \u00e4r en JavaScript HTTP-f\u00f6rfr\u00e5gan?<\/h2>\n<p><a href=\"https:\/\/kinqsta.com\/blog\/what-is-an-http-request\/\">HTTP-f\u00f6rfr\u00e5gningar<\/a> i JavaScript \u00e4r en upps\u00e4ttning av f\u00f6rdefinierade metoder. De anv\u00e4nds f\u00f6r att interagera med data som lagras p\u00e5 servrar.<\/p>\n<p>Varje beg\u00e4ran som skickas till en server inneh\u00e5ller en slutpunkt och den typ av beg\u00e4ran som skickas. Du kan se en slutpunkt som en gateway mellan tv\u00e5 applikationer klienten och servern.<\/p>\n<p>Klienten \u00e4r den applikation som skickar en beg\u00e4ran medan servern \u00e4r den applikation som tar emot beg\u00e4randet. Servern skickar tillbaka ett svar beroende p\u00e5 om beg\u00e4randet \u00e4r giltigt. Om beg\u00e4randet \u00e4r framg\u00e5ngsrikt s\u00e5 skickar servern tillbaka data i antingen XML- eller JSON-format (JSON i de flesta fall). Om beg\u00e4randet misslyckas s\u00e5 skickar servern tillbaka ett <a href=\"https:\/\/kinqsta.com\/blog\/errors-in-javascript\/\">felmeddelande<\/a>.<\/p>\n<p>De svar som skickas tillbaka av servern \u00e4r vanligtvis kopplade till <a href=\"https:\/\/kinqsta.com\/blog\/http-status-codes\/\">statuskoder<\/a>. Dessa koder hj\u00e4lper oss att f\u00f6rst\u00e5 vad servern f\u00f6rs\u00f6ker s\u00e4ga n\u00e4r den tar emot en beg\u00e4ran. H\u00e4r \u00e4r n\u00e5gra av dem och vad de betyder:<\/p>\n<ul>\n<li>100-199 betecknar ett informationssvar.<\/li>\n<li>200-299 anger att beg\u00e4randet har godk\u00e4nts.<\/li>\n<li>300-399 betecknar en omdirigering.<\/li>\n<li>400-499 anger ett klientfel.<\/li>\n<li>500-599 anger ett <a href=\"https:\/\/kinqsta.com\/se\/blog\/500-internt-serverfel\/\">serverfel<\/a>.<\/li>\n<\/ul>\n<p>Vi kommer att tala mer om n\u00e5gra av dessa i de f\u00f6ljande avsnitten.<\/p>\n<p>I n\u00e4sta avsnitt s\u00e5 beskriver vi olika s\u00e4tt att g\u00f6ra HTTP-beg\u00e4randen p\u00e5 i JavaScript.<\/p>\n<h2>Hur man g\u00f6r en HTTP-beg\u00e4ran i JavaScript<\/h2>\n<p>Det h\u00e4r avsnittet kommer att delas in i underavsnitt. Varje avsnitt l\u00e4r dig olika metoder som du kan anv\u00e4nda f\u00f6r att g\u00f6ra HTTP-beg\u00e4randen i JavaScript.<\/p>\n<p>Varje metod som diskuteras kommer att ha ett exempel som visar hur man skickar POST-, GET-, PUT\/PATCH- och DELETE-beg\u00e4randen till servrar.<\/p>\n<p><a href=\"https:\/\/jsonplaceholder.typicode.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">JSON Placeholder<\/a> kommer att fungera som fj\u00e4rrserver\/slutpunkt dit alla v\u00e5ra beg\u00e4randen kommer att skickas.<\/p>\n<p>L\u00e5t oss k\u00f6ra ig\u00e5ng!<\/p>\n<h3>1. Hur man g\u00f6r en HTTP-f\u00f6rfr\u00e5gan i JavaScript med XMLHttpRequest (AJAX)<\/h3>\n<p>XMLHttpRequest \u00e4r ett inbyggt JavaScript-objekt som anv\u00e4nds f\u00f6r att interagera med servrar och ladda inneh\u00e5ll p\u00e5 webbsidor utan att webbl\u00e4saren laddas om.<\/p>\n<p>I det h\u00e4r avsnittet s\u00e5 f\u00e5r du se hur du skickar POST-, GET-, PUT\/PATCH- och DELETE-beg\u00e4randen med hj\u00e4lp av XMLHttpRequest.<\/p>\n<p>AJAX anv\u00e4nds f\u00f6r att g\u00f6ra asynkrona HTTP-beg\u00e4randen. Detta inneb\u00e4r helt enkelt att medan ett svar fr\u00e5n en beg\u00e4ran v\u00e4ntar s\u00e5 kan andra delar av din JavaScript-kod forts\u00e4tta att k\u00f6ras. Som ett resultat s\u00e5 slipper de att v\u00e4nta p\u00e5 att beg\u00e4randet ska slutf\u00f6ras.<\/p>\n<p>Med hj\u00e4lp av AJAX s\u00e5 kan du \u00e4ven skicka \u00e4ndringar till en viss del av din webbsida utan att tvinga bes\u00f6karen att ladda om hela sidan.<\/p>\n<p>AJAX arbetar som standard med XMLHttpRequest-objektet. Exemplen i det h\u00e4r avsnittet kan med andra ord betraktas som AJAX-beg\u00e4randen.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Man kunde ursprungligen ange om en beg\u00e4ran skulle vara asynkron eller inte genom att anv\u00e4nda parametrarna <code>true<\/code> (asynkron) och <code>false<\/code> i beg\u00e4randet. Den senare parametern \u00e4r dock f\u00f6r\u00e5ldrad nuf\u00f6rtiden.<\/p>\n<\/aside>\n\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med XMLHttpRequest<\/h4>\n<p>Du anv\u00e4nder GET-beg\u00e4ran n\u00e4r du vill h\u00e4mta data fr\u00e5n en server. Om du vill skicka en framg\u00e5ngsrik GET-beg\u00e4ran med XMLHttpRequest i JavaScript s\u00e5 ska du se till att f\u00f6ljande g\u00f6rs korrekt:<\/p>\n<ol>\n<li>Skapa ett nytt XMLHttpRequest-objekt.<\/li>\n<li>\u00d6ppna en anslutning genom att ange beg\u00e4randetyp och slutpunkt (serverns webbadress).<\/li>\n<li>Skicka beg\u00e4randet.<\/li>\n<li>Lyssna p\u00e5 serverns svar.<\/li>\n<\/ol>\n<p>Nu n\u00e4r vi har sett n\u00e5gra av stegen f\u00f6r att skicka en POST-beg\u00e4ran med XMLHttpRequest, s\u00e5 kan vi titta p\u00e5 ett kodexempel\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>Vi bryter ner koden ovan f\u00f6r att hj\u00e4lpa dig att f\u00f6rst\u00e5 vad som h\u00e4nder h\u00e4r.<\/p>\n<p>Det f\u00f6rsta som vi gjorde var att skapa ett nytt XMLHttpRequest-objekt och lagra det i en variabel som heter <code>xhr<\/code>. Det vill s\u00e4ga:<\/p>\n<pre><code class=\"language-js\">const xhr = new XMLHttpRequest();<\/code><\/pre>\n<p>Vi specificerade sedan beg\u00e4randetypen (GET) och slutpunkten dit beg\u00e4randet kommer att skickas (i det h\u00e4r fallet&#8221;<a href=\"https:\/\/jsonplaceholder.typicode.com\/users\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/users<\/a>\u201d):<\/p>\n<pre><code class=\"language-js\">xhr.open(\"GET\", \"https:\/\/jsonplaceholder.typicode.com\/users\");<\/code><\/pre>\n<p>F\u00f6r att skicka beg\u00e4randet till servern s\u00e5 anv\u00e4nde vi metoden <code> send()<\/code>.<\/p>\n<p>N\u00e4r servern skickar tillbaka data s\u00e5 kan du ange i vilket format som datan returneras.<\/p>\n<p>I de flesta fall anv\u00e4nds JSON. S\u00e5 vi s\u00e5g till att v\u00e5ra data returnerades i JSON genom att l\u00e4gga till detta:<\/p>\n<pre><code class=\"language-js\">xhr.responseType = \"json\";<\/code><\/pre>\n<p>Nu har vi skickat en GET-beg\u00e4ran med framg\u00e5ng. N\u00e4sta sak att g\u00f6ra \u00e4r att lyssna p\u00e5 vad servern s\u00e4ger genom att anv\u00e4nda en h\u00e4ndelselistare:<\/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>I koden ovan s\u00e5 anv\u00e4nder vi oss av <code>onload<\/code>-h\u00e4ndelselistare. Med hj\u00e4lp av ett <code>if<\/code>-meddelande s\u00e5 kontrollerade vi statusen p\u00e5 serverns svar.<\/p>\n<p>Om klientens status \u00e4r 4 (DONE) och om statuskoden \u00e4r 200 (framg\u00e5ngsrik) s\u00e5 loggas uppgifterna till konsolen. I annat fall s\u00e5 visas ett felmeddelande som visar felstatusen.<\/p>\n<p>Om du har f\u00f6ljt med fram till denna punkt utan n\u00e5gra fel s\u00e5 b\u00f6r du ha en array av objekt i din konsol\u02d0<\/p>\n<pre><code class=\"language-js\">[{\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}, {\u2026}]<\/code><\/pre>\n<p>Detta \u00e4r datan som h\u00e4mtas fr\u00e5n servern.<\/p>\n<h4>Hur man skickar en POST-beg\u00e4ran i JavaScript med XMLHttpRequest<\/h4>\n<p>Med POST-beg\u00e4ran s\u00e5 kan du skicka ny information (data) till servern\/databasen som ett objekt. Objektet kan vara information om en ny anv\u00e4ndare, en ny post i en att-g\u00f6ra-lista eller vad du \u00e4n beh\u00f6ver logga.<\/p>\n<p>Det kodexempel som du kommer att se i det h\u00e4r avsnittet liknar koden i det f\u00f6rra avsnittet. Den st\u00f6rsta skillnaden \u00e4r att POST-beg\u00e4randen kr\u00e4ver viss information som vanligtvis lagras i ett objekt innan den skickas till servern.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>I koden ovan s\u00e5 lagras informationen som ska skickas till servern i en variabel som heter <code>body<\/code>. Den inneh\u00e5ller tre egenskaper\u02d0 <code>title<\/code>, <code>body<\/code> och <code>userId<\/code>.<\/p>\n<p>Observera att variabeln <code>body<\/code> som inneh\u00e5ller objektet m\u00e5ste konverteras till ett JSON-objekt innan det skickas till servern. Konverteringen g\u00f6rs med hj\u00e4lp av metoden <code>JSON.stringify()<\/code>.<\/p>\n<p>F\u00f6r att se till att JSON-objektet skickas till servern s\u00e5 skickas det in som en parameter till metoden <code>send()<\/code>:<\/p>\n<pre><code class=\"language-js\">xhr.send(body);<\/code><\/pre>\n<h3><span style=\"color: #0e0a1b;font-family: 'Brandon Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;font-size: 1rem;font-weight: 900\">Hur man skickar en PATCH-beg\u00e4ran i JavaScript med XMLHttpRequest<\/span><\/h3>\n<p>PATCH-beg\u00e4ran anv\u00e4nds f\u00f6r att uppdatera angivna egenskaper hos ett objekt. Detta skiljer sig fr\u00e5n PUT-metoden, som uppdaterar hela objektet.<\/p>\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 en PATCH-f\u00f6rfr\u00e5gan med hj\u00e4lp av XMLHttpRequest i 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>Om koden ovan lyckas s\u00e5 loggas den del av objektet som uppdaterades och skickades till servern.<\/p>\n<h4>Hur man skickar en DELETE-beg\u00e4ran i JavaScript med XMLHttpRequest<\/h4>\n<p>Precis som namnet antyder s\u00e5 anv\u00e4nds DELETE-metoden f\u00f6r att ta bort data fr\u00e5n en server. Detta \u00e4r samma sak f\u00f6r alla JavaScript HTTP-metoder.<\/p>\n<p>I de flesta fall s\u00e5 m\u00e5ste du ange ID f\u00f6r de data som du vill ta bort. ID: t \u00e4r vanligtvis en parameter i slutpunkten\/webbadressen.<\/p>\n<p>L\u00e5t oss se ett exempel p\u00e5 en DELETE-beg\u00e4ran:<\/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>Koden ovan kommer att radera ett objekt med en POST med ID 3 som anges i slutpunkten (&#8221;<a href=\"https:\/\/jsonplaceholder.typicode.com\/posts\/3\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/posts\/3<\/a>&#8221;).<\/p>\n<h3>2. Hur man g\u00f6r en HTTP-beg\u00e4ran i JavaScript med hj\u00e4lp av jQuery<\/h3>\n<p>jQuery f\u00f6renklar processen att h\u00e4mta data fr\u00e5n servrar genom att g\u00f6ra syntaxen kortare och mer okomplicerad.<\/p>\n<p>I det h\u00e4r avsnittet s\u00e5 f\u00e5r du se hur du g\u00f6r <a href=\"https:\/\/kinqsta.com\/se\/blog\/http3\/\">HTTP<\/a>-beg\u00e4randen med hj\u00e4lp av olika jQuery-metoder.<\/p>\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med jQuery<\/h4>\n<p>jQuery ger oss metoden <code>$.get()<\/code> f\u00f6r att skicka GET-beg\u00e4randen till servrar. Metoden tar in tv\u00e5 parametrar &#8211; webbadressen till servern och en callback-funktion som k\u00f6rs om beg\u00e4randet \u00e4r framg\u00e5ngsrikt.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>Som framg\u00e5r av koden ovan s\u00e5 tog metoden <code>$.get()<\/code> emot webbadressen (<a href=\"https:\/\/jsonplaceholder.typicode.com\/users\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/jsonplaceholder.typicode.com\/users<\/a>) och en anonym callback-funktion som parametrar.<\/p>\n<p>Genom callback-funktionen s\u00e5 kan du f\u00e5 tillg\u00e5ng till data fr\u00e5n beg\u00e4randet och status f\u00f6r beg\u00e4randet. I v\u00e5rt eget fall s\u00e5 loggade vi uppgifterna till konsolen.<\/p>\n<p>S\u00e5 enkelt \u00e4r det att skicka en GET-beg\u00e4ran med hj\u00e4lp av jQuery.<\/p>\n<h4>Hur man skickar en POST-beg\u00e4ran i JavaScript med jQuery<\/h4>\n<p>F\u00f6r att skicka en POST-beg\u00e4ran med jQuery s\u00e5 anv\u00e4nder vi metoden <code>$.post()<\/code>. Den tar tre parametrar &#8211; webbadressen, de data som ska skickas till servern och en callback-funktion.<\/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>I koden ovan s\u00e5 skapade vi ett objekt som ska skickas till servern och lagrade det i en variabel som heter <code>body<\/code>. Denna variabel skickades in som en andra parameter i metoden <code>$.post()<\/code>.<\/p>\n<p>Med hj\u00e4lp av callback-funktionen s\u00e5 loggade vi resultatet av beg\u00e4ran till konsolen.<\/p>\n<h3>3. Hur man g\u00f6r asynkrona beg\u00e4randen i jQuery med hj\u00e4lp av metoden $.ajax()<\/h3>\n<p>Innan vi g\u00e5r vidare till att skicka PATCH- och DELETE-beg\u00e4randen s\u00e5 ska vi tala om metoden <code>$.ajax()<\/code>.<\/p>\n<p>Metoden <code>$.ajax()<\/code> i jQuery anv\u00e4nds f\u00f6r att g\u00f6ra asynkrona beg\u00e4randen.<\/p>\n<p>Syntaxen skiljer sig fr\u00e5n de andra.<\/p>\n<p>S\u00e5 h\u00e4r g\u00f6r du en GET-beg\u00e4ran med hj\u00e4lp av metoden <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>Metoden <code>$.ajax()<\/code> har olika parametrar som vi kan anv\u00e4nda.<\/p>\n<p>I koden ovan s\u00e5 anger parametern <code>url<\/code> webbadressen till servern, <code>type<\/code> anger beg\u00e4randetypen och parametern <code>success<\/code> anropar en callback-funktion om beg\u00e4randet \u00e4r framg\u00e5ngsrikt.<\/p>\n<p>I n\u00e4sta avsnitt s\u00e5 ser du hur du skickar PATCH- och DELETE-beg\u00e4randen med hj\u00e4lp av jQuery\u2019s <code>$.ajax()<\/code>-metod.<\/p>\n<h4>S\u00e5 h\u00e4r skickar du en PATCH-beg\u00e4ran i JavaScript med jQuerys $.ajax()-metod<\/h4>\n<p>I det h\u00e4r avsnittet s\u00e5 visas hur man skickar PATCH-beg\u00e4randen med hj\u00e4lp av jQuery\u2019s metod <code>$.ajax()<\/code>.<\/p>\n<p>H\u00e4r \u00e4r koden:<\/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>I koden ovan s\u00e5 lagras egenskapen som ska uppdateras i variabeln <code>body<\/code>. Denna anv\u00e4nds sedan som v\u00e4rde f\u00f6r parametern <code>data<\/code>.<\/p>\n<p>Om beg\u00e4randet \u00e4r framg\u00e5ngsrikt s\u00e5 utf\u00f6rs funktionen f\u00f6r parametern <code>success<\/code>.<\/p>\n<h4>S\u00e5 h\u00e4r skickar du en DELETE-beg\u00e4ran i JavaScript med jQuerys metod $.ajax()<\/h4>\n<p>Att skicka en DELETE-beg\u00e4ran med hj\u00e4lp av jQuery\u2019s <code>$.ajax()<\/code>-metod kr\u00e4ver endast n\u00e5gra f\u00e5 rader kod.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>Som framg\u00e5r det ovan s\u00e5 var allt som vi beh\u00f6vde g\u00f6ra att ange webbadressen med ID f\u00f6r det objekt som ska raderas. Vi angav \u00e4ven typen av beg\u00e4ran och en funktion som k\u00f6rs om beg\u00e4randet \u00e4r framg\u00e5ngsrikt.<\/p>\n<h4>Hur man anv\u00e4nder metoden $.getJSON i jQuery<\/h4>\n<p>Metoden <code>$.getJSON<\/code> erbjuder ett kortare s\u00e4tt att skicka GET-beg\u00e4randen p\u00e5.<\/p>\n<p>F\u00f6r att g\u00f6ra en lyckad beg\u00e4ran s\u00e5 beh\u00f6ver du bara ange webbadressen och callback-funktionen. H\u00e4r \u00e4r ett exempel:<\/p>\n<pre><code class=\"language-js\">$.getJSON(\"https:\/\/jsonplaceholder.typicode.com\/users\", function (result) {\n  console.log(result)\n});<\/code><\/pre>\n<p>I koden ovan s\u00e5 har vi skickat in webbadressen till servern och funktionen som k\u00f6rs efter att beg\u00e4randet har lyckats som parametrar till <code>$.getJSON<\/code>-metoden.<\/p>\n<p>Koden ovan kommer att logga en matris av objekt som inneh\u00e5ller anv\u00e4ndarinformation till konsolen.<\/p>\n<h3>4. S\u00e5 h\u00e4r g\u00f6r du en HTTP-beg\u00e4ran i JavaScript med hj\u00e4lp av Fetch API: et<\/h3>\n<p>API: et <code>fetch<\/code> \u00e4r ett av de mest popul\u00e4ra s\u00e4tten att interagera med servrar med hj\u00e4lp av JavaScript. Det \u00e4r ett inbygt JavaScript API som har st\u00f6d f\u00f6r l\u00f6ften n\u00e4r man g\u00f6r beg\u00e4randen.<\/p>\n<p>Syntaxen f\u00f6r att anv\u00e4nda <code>fetch<\/code> API: et \u00e4r mycket l\u00e4tt att f\u00f6rst\u00e5, vilket du kommer att se i avsnitten som f\u00f6ljer.<\/p>\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med hj\u00e4lp av Fetch API: et<\/h4>\n<p>F\u00f6r att skicka en GET-beg\u00e4ran med hj\u00e4lp av <code>fetch<\/code> API s\u00e5 kr\u00e4vs endast webbadressen. Detta returnerar sedan ett l\u00f6fte som du kan f\u00e5 tillg\u00e5ng till med hj\u00e4lp av metoden <code>then()<\/code> eller nyckelorden <code>async<\/code> och <code>await<\/code>.<\/p>\n<p>L\u00e5t oss titta p\u00e5 ett exempel:<\/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>I koden ovan s\u00e5 skickade vi in webbadressen till metoden <code>fetch<\/code>, som returnerar ett l\u00f6fte. Vi fick sedan tillg\u00e5ng till serverns svar med hj\u00e4lp av metoden <code>then()<\/code>. Svaret konverterades till ett JSON-objekt med hj\u00e4lp av metoden <code>response.json()<\/code>.<\/p>\n<p>Efter att ha f\u00e5tt svaret s\u00e5 anv\u00e4nde vi sedan en annan <code>then()<\/code>-metod f\u00f6r att logga ut data till konsolen.<\/p>\n<h4>Hur man skickar en POST-beg\u00e4ran i JavaScript med hj\u00e4lp av Fetch API<\/h4>\n<p>Metoden fetch har en andra parameter som g\u00f6r att vi kan ange body (data som ska skickas) och typ av beg\u00e4ran som ska skickas. Med denna andra parameter s\u00e5 kan vi skicka POST- och PATCH-beg\u00e4randen.<\/p>\n<p>Ta en titt p\u00e5 den h\u00e4r exempelkoden:<\/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>I koden ovan s\u00e5 har vi lagt till beg\u00e4randealternativ i den andra parametern f\u00f6r metoden <code>fetch<\/code>. <code>method<\/code> anv\u00e4ndes f\u00f6r att ange f\u00f6rfr\u00e5gningstyp, <code>body<\/code> angav de data som ska skickas till servern och <code>headers<\/code> anv\u00e4ndes f\u00f6r att ange att vi ska skicka JSON-data till servern.<\/p>\n<p>Precis som tidigare n\u00e4r vi skickade en GET-beg\u00e4ran s\u00e5 fick vi tillg\u00e5ng till det returnerade l\u00f6ftet\/svaret med hj\u00e4lp av metoden <code>then()<\/code>.<\/p>\n<h4>S\u00e5 h\u00e4r skickar du en PUT-beg\u00e4ran i JavaScript med hj\u00e4lp av Fetch API:et<\/h4>\n<p>I ett annat avsnitt d\u00e4r vi skickade en beg\u00e4ran f\u00f6r att uppdatera ett objekt i servern s\u00e5 anv\u00e4nde vi oss av PATCH. I det h\u00e4r avsnittet anv\u00e4nder vi PUT, som l\u00e5ter dig uppdatera hela objekt.<\/p>\n<p>H\u00e4r \u00e4r ett exempel med hj\u00e4lp av <code>fetch<\/code>-API:<\/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>Eftersom vi skickar en PUT-beg\u00e4ran s\u00e5 m\u00e5ste vi ange de data som ska uppdateras. Detta skickas som ett v\u00e4rde till <code>body<\/code>-beg\u00e4randealternativet.<\/p>\n<p>Vi har \u00e4ven angett ID f\u00f6r det objekt som ska uppdateras som den sista parametern i webbadressen. Om beg\u00e4randet k\u00f6rs framg\u00e5ngsrikt s\u00e5 b\u00f6r du se det uppdaterade objektet loggas in i konsolen.<\/p>\n<h4>S\u00e5 h\u00e4r skickar du en DELETE-beg\u00e4ran i JavaScript med hj\u00e4lp av Fetch API: et<\/h4>\n<p>Att skicka en DELETE-beg\u00e4ran \u00e4r ganska enkelt &#8211; allt du beh\u00f6ver g\u00f6ra \u00e4r att ange ID f\u00f6r det objekt som ska tas bort. Du kan anv\u00e4nda metoden <code>then()<\/code> f\u00f6r att ta emot svaret fr\u00e5n servern, precis som vi gjorde med de andra beg\u00e4randena.<\/p>\n<p>H\u00e4r \u00e4r ett snabbt exempel:<\/p>\n<pre><code class=\"language-js\">fetch(\"https:\/\/jsonplaceholder.typicode.com\/posts\/3\", {\n  method: \"DELETE\",\n});<\/code><\/pre>\n<p>Koden ovan raderar ett objekt med ID 3.<\/p>\n<h3>5. Hur man g\u00f6r en HTTP-f\u00f6rfr\u00e5gan i JavaScript med Axios<\/h3>\n<p>Axios \u00e4r ett tredjepartsbibliotek som \u00e4r baserat p\u00e5 l\u00f6ften f\u00f6r att skicka HTTP-beg\u00e4randen. Precis som de flesta moderna HTTP-klienter s\u00e5 f\u00f6renklar det processen med att skicka beg\u00e4randen till en server.<\/p>\n<p>I det h\u00e4r avsnittet s\u00e5 l\u00e4r du dig hur du skickar GET-, POST-, PUT- och DELETE-beg\u00e4randen till en server med hj\u00e4lp av Axios.<\/p>\n<p>Observera att Axios inte \u00e4r inbyggt i JavaScript &#8211; du m\u00e5ste installera det separat f\u00f6r att kunna anv\u00e4nda dess funktionalitet. F\u00f6r att installera Axios i ditt projekt s\u00e5 k\u00f6r du kommandot nedan i din <a href=\"https:\/\/kinqsta.com\/blog\/what-is-npm\/\">projektterminal<\/a>:<\/p>\n<pre><code class=\"language-js\">npm install axios<\/code><\/pre>\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med hj\u00e4lp av Axios<\/h4>\n<p>F\u00f6r att skicka en GET-beg\u00e4ran med hj\u00e4lp av Axios s\u00e5 beh\u00f6ver du bara skicka in webbadressen till metoden <code>get()<\/code>, som returnerar ett l\u00f6fte. Svaret som returneras fr\u00e5n l\u00f6ftet kan n\u00e5s med hj\u00e4lp av metoden <code>then()<\/code>.<\/p>\n<p>L\u00e5t oss se ett exempel:<\/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>Koden ovan kommer att logga ut en matris av objekt som inneh\u00e5ller data som har returnerats fr\u00e5n servern. Du m\u00e4rker att vi inte beh\u00f6vde \u00e4ndra de returnerade objekten till JSON-objekt &#8211; Axios hanterar detta under huven. Du kan f\u00e5 tillg\u00e5ng till data med hj\u00e4lp av <code>response.data<\/code>.<\/p>\n<p>F\u00f6r att f\u00e5nga upp eventuella fel s\u00e5 anv\u00e4nde vi metoden <code>catch()<\/code>.<\/p>\n<h4>Hur man skickar en POST-beg\u00e4ran i JavaScript med Axios<\/h4>\n<p>POST-beg\u00e4ran i Axios tar tv\u00e5 parametrar &#8211; webbadressen och de data som ska skickas till servern. Du kan lagra data i en variabel eller skicka den direkt som en parameter.<\/p>\n<p>S\u00e5 h\u00e4r g\u00e5r det till:<\/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>I exemplet ovan s\u00e5 skickar vi data till servern. Uppgifterna skickas in som en andra parameter till metoden <code>post()<\/code>.<\/p>\n<p>Om beg\u00e4randet skickas framg\u00e5ngsrikt s\u00e5 ser du resultatet loggat i konsolen.<\/p>\n<h4>S\u00e5 h\u00e4r skickar du en PUT-beg\u00e4ran i JavaScript med Axios<\/h4>\n<p>Att skicka en PUT-beg\u00e4ran med Axios liknar att skicka en POST-beg\u00e4ran. F\u00f6r att skicka en PUT-beg\u00e4ran s\u00e5 anger du webbadressen (inklusive ID f\u00f6r det objekt som ska uppdateras) och de data som ska uppdateras som en andra parameter i <code>put()<\/code>-metoden.<\/p>\n<p>Exemplet nedan uppdaterar ett objekt med 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>S\u00e5 h\u00e4r skickar du en DELETE-beg\u00e4ran i JavaScript med Axios<\/h4>\n<p>F\u00f6r att skicka en DELETE-beg\u00e4ran s\u00e5 anger du ID f\u00f6r det objekt som ska tas bort i webbadressen.<\/p>\n<p>Du m\u00e5ste som vanligt ange webbadressen tillsammans med ID: t f\u00f6r det objekt som ska tas bort.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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. Hur man g\u00f6r en HTTP-beg\u00e4ran i JavaScript med SuperAgent: exempel<\/h3>\n<p>SuperAgent \u00e4r ett av de \u00e4ldsta biblioteken som har byggts f\u00f6r att g\u00f6ra HTTP-beg\u00e4randen i JavaScript. Precis som Axios s\u00e5 har det st\u00f6d f\u00f6r l\u00f6ften och f\u00f6rbyggda metoder f\u00f6r att skicka olika HTTP-beg\u00e4randen till servrar.<\/p>\n<p>F\u00f6r att anv\u00e4nda SuperAgent s\u00e5 installerar du det med hj\u00e4lp av kommandot nedan:<\/p>\n<pre><code class=\"language-js\">npm install superagent<\/code><\/pre>\n<p>Vi b\u00f6rjar med ett exempel p\u00e5 en GET-beg\u00e4ran.<\/p>\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med SuperAgent<\/h4>\n<p>SuperAgent ger oss en <code>get()<\/code>-metod f\u00f6r att skicka GET-beg\u00e4randen. Webbadressen skickas in som metodens parameter.<\/p>\n<p>Det l\u00f6fte som returneras fr\u00e5n beg\u00e4randet kan sedan bed\u00f6mas med hj\u00e4lp av metoden <code>end()<\/code>, som vi ser i det h\u00e4r exemplet:<\/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>Hur man skickar en POST-beg\u00e4ran i JavaScript med SuperAgent<\/h4>\n<p>N\u00e4r du skickar en POST-beg\u00e4ran med SuperAgent s\u00e5 skickar du in de data som ska skickas till servern som en parameter till SuperAgent-metoden <code>send()<\/code>:<\/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>I koden ovan s\u00e5 skickas webbadressen in som parameter till <code>post()<\/code>-metoden. De data som ska skickas blir sedan inskickade i\u00a0<code>send()<\/code>-metoden. Med hj\u00e4lp av metoden <code>end()<\/code>\u00a0s\u00e5 fick vi resultatet av serverns svar.<\/p>\n<h4>Hur man skickar en PUT-beg\u00e4ran i JavaScript med SuperAgent<\/h4>\n<p>Du kan skicka en PUT-beg\u00e4ran i SuperAgent med hj\u00e4lp av metoden <code>put()<\/code>. Precis som i exemplet i det sista avsnittet s\u00e5 skulle de data som ska uppdateras skickas in som en parameter till <code>send()<\/code>-metoden.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>Hur man skickar en DELETE-beg\u00e4ran i JavaScript med SuperAgent<\/h4>\n<p>F\u00f6r att skicka en beg\u00e4ran om radering s\u00e5 anger du helt enkelt ID: et f\u00f6r det objekt som ska raderas i webbadressen. Detta kommer att anv\u00e4ndas som en parameter i metoden <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. Hur man g\u00f6r en HTTP-beg\u00e4ran i JavaScript med Qwest<\/h3>\n<p>Qwest \u00e4r ett AJAX-bibliotek f\u00f6r interaktion med servrar. Det \u00e4r f\u00f6r n\u00e4rvarande arkiverat p\u00e5 <a href=\"https:\/\/kinqsta.com\/blog\/what-is-github\/\">GitHub<\/a> &#8211; skaparen avbr\u00f6t underh\u00e5llet av biblioteket n\u00e4r <code>fetch<\/code>-API och Axios kom till.<\/p>\n<p>Qwest st\u00f6der ocks\u00e5 anv\u00e4ndningen av l\u00f6ften.<\/p>\n<p>I f\u00f6ljande underavsnitt s\u00e5 kommer du att se hur du skickar GET-, POST-, PUT- och DELETE-beg\u00e4randen med hj\u00e4lp av Qwest.<\/p>\n<h4>Hur man skickar en GET-beg\u00e4ran i JavaScript med Qwest<\/h4>\n<p>Qwest har en <code>get()<\/code>-metod som kan anv\u00e4ndas f\u00f6r att skicka GET-beg\u00e4randen. S\u00e5 h\u00e4r anv\u00e4nder du den:<\/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>Hur man skickar en POST-beg\u00e4ran i JavaScript med Qwest<\/h4>\n<p>Som en andra parameter s\u00e5 skickas de data som ska skickas till en server till <code>post()<\/code>-metoden. Den f\u00f6rsta parametern \u00e4r webbadressen.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>Hur man skickar en PUT-beg\u00e4ran i JavaScript med Qwest<\/h4>\n<p>Syntaxen h\u00e4r \u00e4r densamma som i f\u00f6reg\u00e5ende avsnitt. Det enda som du beh\u00f6ver \u00e4ndra \u00e4r beg\u00e4randetypen och sedan ange ID f\u00f6r det objekt som ska uppdateras tillsammans med de data som du vill uppdatera objektet med.<\/p>\n<p>Ta en titt p\u00e5 det h\u00e4r exemplet:<\/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>Observera att ID: t anges i webbadressen och inte i det objekt som skickas till servern.<\/p>\n<h4>Hur man skickar en DELETE-beg\u00e4ran i JavaScript med Qwest<\/h4>\n<p>F\u00f6r att ta bort ett objekt fr\u00e5n en server s\u00e5 m\u00e5ste du som vanligt ange webbadress och ID f\u00f6r det objekt som ska tas bort. B\u00e5de webbadress och ID f\u00f6r det objekt som ska tas bort skickas in som en parameter till metoden <code>delete()<\/code> i Qwest.<\/p>\n<p>H\u00e4r \u00e4r ett exempel:<\/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>N\u00e4r beg\u00e4randet k\u00f6rs framg\u00e5ngsrikt s\u00e5 kommer ett objekt med ID 30 att tas bort.<\/p>\n<h2>Sammanfattning<\/h2>\n<p>V\u00e5r f\u00f6rm\u00e5ga att interagera med servrar med hj\u00e4lp av JavaScript har utvecklats under \u00e5rens lopp. Det finns ett v\u00e4xande och aktivt community av <a href=\"https:\/\/kinqsta.com\/blog\/frontend-developer\/\">JavaScript-utvecklare<\/a>. Som ett resultat s\u00e5 g\u00f6rs det fortfarande st\u00e4ndiga \u00e4ndringar och nya verktyg inf\u00f6rs f\u00f6r att g\u00f6ra processen enklare och l\u00e4ttare.<\/p>\n<p>De metoder som diskuteras i den h\u00e4r handledningen g\u00e4ller inte bara fj\u00e4rrservrar &#8211; de kan ocks\u00e5 anv\u00e4ndas f\u00f6r att interagera med dina egna servrar n\u00e4r du bygger fullst\u00e4ndiga webbapplikationer. De fungerar \u00e4ven med m\u00e5nga <a href=\"https:\/\/kinqsta.com\/se\/blog\/javascript-biblioteken\/\">JavaScript-bibliotek och ramverk<\/a>.<\/p>\n\n<p>I den h\u00e4r handledningen s\u00e5 har vi l\u00e4rt dig hur du g\u00f6r HTTP-beg\u00e4randen i JavaScript. Vi gav olika exempel och f\u00f6rklaringar som visade hur man skickar GET-, POST-, PUT\/PATCH- och DELETE-beg\u00e4randen med hj\u00e4lp av inbyggda JavaScript-metoder och bibliotek fr\u00e5n tredje part.<\/p>\n<p>Att bygga och distribuera en webbplats kan vara en tr\u00e5kig uppgift oavsett dina kunskaper. Men Kinsta g\u00f6r detta enkelt och friktionsfritt med DevKinsta. DevKinsta anv\u00e4nds av \u00f6ver 25 000 utvecklare, webbdesigners och frilansare och erbjuder en lokal milj\u00f6 f\u00f6r utveckling av WordPress-teman, plugins med mera. <a href=\"https:\/\/kinqsta.com\/se\/devkinsta\/\">Kolla in det!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interaktionen mellan webbplatsers frontend och backend m\u00f6jligg\u00f6rs genom HTTP-f\u00f6rfr\u00e5gningar. Du kanske vill uppdatera en ny\/gammal anv\u00e4ndare i en databas, publicera ett blogginl\u00e4gg fr\u00e5n din WordPress-instrumentpanel, ta &#8230;<\/p>\n","protected":false},"author":240,"featured_media":46466,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[697,423,360,237,42],"topic":[784],"class_list":["post-46465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-http-request","tag-http-status-codes","tag-javascript","tag-web-development","tag-webdev","topic-javascript-sjalvstudier"],"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>En guide till JavaScript HTTP-beg\u00e4randen<\/title>\n<meta name=\"description\" content=\"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"En guide till JavaScript HTTP-beg\u00e4randen\" \/>\n<meta property=\"og:description\" content=\"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstasweden\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-18T08:07:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T20:02:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/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=\"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_se\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_se\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinqsta.com\/se\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"En guide till JavaScript HTTP-beg\u00e4randen\",\"datePublished\":\"2022-10-18T08:07:06+00:00\",\"dateModified\":\"2025-10-01T20:02:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\"},\"wordCount\":3904,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/se\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png\",\"keywords\":[\"http request\",\"HTTP Status Codes\",\"JavaScript\",\"web development\",\"webdev\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\",\"url\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\",\"name\":\"En guide till JavaScript HTTP-beg\u00e4randen\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/se\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png\",\"datePublished\":\"2022-10-18T08:07:06+00:00\",\"dateModified\":\"2025-10-01T20:02:25+00:00\",\"description\":\"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png\",\"contentUrl\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/se\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript-sj\u00e4lvstudier\",\"item\":\"https:\/\/kinqsta.com\/se\/topics\/javascript-sjalvstudier\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"En guide till JavaScript HTTP-beg\u00e4randen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/se\/#website\",\"url\":\"https:\/\/kinqsta.com\/se\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/se\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/se\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/se\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/se\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinqsta.com\/se\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/se\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstasweden\/\",\"https:\/\/x.com\/kinsta_se\",\"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:\/\/kinqsta.com\/se\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinqsta.com\/se\/#\/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:\/\/kinqsta.com\/se\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"En guide till JavaScript HTTP-beg\u00e4randen","description":"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden","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:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/","og_locale":"sv_SE","og_type":"article","og_title":"En guide till JavaScript HTTP-beg\u00e4randen","og_description":"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden","og_url":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstasweden\/","article_published_time":"2022-10-18T08:07:06+00:00","article_modified_time":"2025-10-01T20:02:25+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden","twitter_image":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","twitter_creator":"@kinsta_se","twitter_site":"@kinsta_se","twitter_misc":{"Skriven av":"Ihechikara Abba","Ber\u00e4knad l\u00e4stid":"18 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinqsta.com\/se\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"En guide till JavaScript HTTP-beg\u00e4randen","datePublished":"2022-10-18T08:07:06+00:00","dateModified":"2025-10-01T20:02:25+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/"},"wordCount":3904,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/se\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","keywords":["http request","HTTP Status Codes","JavaScript","web development","webdev"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/","url":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/","name":"En guide till JavaScript HTTP-beg\u00e4randen","isPartOf":{"@id":"https:\/\/kinqsta.com\/se\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","datePublished":"2022-10-18T08:07:06+00:00","dateModified":"2025-10-01T20:02:25+00:00","description":"L\u00e4r dig de olika s\u00e4tten att g\u00f6ra HTTP-beg\u00e4randen till fj\u00e4rrservrar och utf\u00f6ra CRUD-operationer i JavaScript i den h\u00e4r hj\u00e4lpsamma guiden","breadcrumb":{"@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#primaryimage","url":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","contentUrl":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2022\/10\/javascript-http-request.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/se\/blog\/javascript-http-begaranden\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/se\/"},{"@type":"ListItem","position":2,"name":"JavaScript-sj\u00e4lvstudier","item":"https:\/\/kinqsta.com\/se\/topics\/javascript-sjalvstudier\/"},{"@type":"ListItem","position":3,"name":"En guide till JavaScript HTTP-beg\u00e4randen"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/se\/#website","url":"https:\/\/kinqsta.com\/se\/","name":"Kinsta\u00ae","description":"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar","publisher":{"@id":"https:\/\/kinqsta.com\/se\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/se\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/se\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/se\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinqsta.com\/se\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/se\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstasweden\/","https:\/\/x.com\/kinsta_se","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:\/\/kinqsta.com\/se\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinqsta.com\/se\/#\/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:\/\/kinqsta.com\/se\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/posts\/46465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/comments?post=46465"}],"version-history":[{"count":14,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/posts\/46465\/revisions"}],"predecessor-version":[{"id":51865,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/posts\/46465\/revisions\/51865"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/translations\/dk"},{"href":"https:\/\/kinqsta.com\/se\/wp-json\/kinsta\/v1\/posts\/46465\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/media\/46466"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/media?parent=46465"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/tags?post=46465"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/se\/wp-json\/wp\/v2\/topic?post=46465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}