DEV Community

mweissen
mweissen

Posted on

How to use cookies?

I want to send a cookie from the svelte server to the client. I have tried the following simple steps:

The page m.svelte:

<script> const callm = async () => { const response = await fetch("/m", { method: "POST", headers: { "Content-Type": "application/json", Accept: "application/json" }, body: JSON.stringify({ somedata: "abc"}) }); const r = await response.json(); await console.log("Response", r); await console.log("Cookie", document.cookie); }; </script> <button on:click={callm}>M</button> 

And the server route m.js:

export async function post(req, res) { const { somedata } = req.body; res.writeHead(200, { 'Set-Cookie': `my1cookie=${somedata};Max-Age=60`, 'Content-Type': 'application/json' }); res.end(JSON.stringify({ somedata })); // thats is only a test } 

What I expect: when I press the M button, data is sent to the server and returned as a cookie.
The cookie arrives as I checked with the Chrome Inspector, but is not displayed with console.log

What have I done wrong?

Top comments (1)

Collapse
 
hasnezz profile image
Hassan Ezz • Edited

did you find a fix ??
I know it's been a year but I have the same issue and I can't find a solution