express使用fetch请求无法设置cookie

想问一下为什么我使用fetch提交表单数据,express无法设置cookie,而直接使用form标签时却可以设置。

为了方便,我把模拟的代码全贴上来

https://img1.mukewang.com/5befbdc0000122ba03280402.jpg

<body>

<form method="POST" action="/bb">

    <label>login</label>

    <input type="submit" value="login" />

</form>

<div id='test'>fetch</div>

<script>

    var test = document.getElementById('test');

    test.onclick = function () {

        fetch('/bb', {

            method: 'POST'

        }).then( (data) => {

            data.text().then(function(data) {console.log(data)});

        })

    }

</script>

</body>


互换的青春
浏览 1268回答 1
1回答

慕后森

与XMLHttpRequest一样,从服务器返回的Set-Cookie响应头是Forbidden header name,因此无法使用response.headers.get()进行读取。 浏览器负责处理设置新的Cookie,cookie可以通过document.cookie读取。但fetch的默认行为是完全忽略Set-Cookie头。想从服务器接受Cookie,您必须使用credentials选项。credentials选项列表
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript