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)
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