前景提要
jquery ajax post 请求带有 withCredentials 却不发送 cookie
0 悬赏园豆: 50 [待解决问题] 遇到奇怪的问题,通过下面的代码发送 ajax 请求,总是不发送 cookie ,请问如何解决? $.ajax({ url: "跨域url", data: JSON.stringify({ blogId: blogId, id: id }), type: "post", contentType: "application/json; charset=utf-8", dataType: "json", xhrFields: { withCredentials: true }, success: function (data) { } }); web前端 jquery js ajax 问题补充:改用 fetch 实现也是同样的问题 async function postData(url = '', data = {}) { const response = await fetch(url, { method: 'POST', mode: 'cors', cache: 'no-cache', credentials: 'same-origin', headers: { 'Content-Type': 'application/json' }, redirect: 'follow', referrerPolicy: 'no-referrer', body: JSON.stringify(data) }); return response.json(); } postData('https://audit.cnblogs.com/blogposts/pass/one', { blogId: blogId, id: id }) .then(data => { //... }) .catch((error) => { console.error('Error:', error); }); dudu | 高人七级 | 园豆: 39012
提问于:2020-06-09 20:07 如果去掉 data: JSON.stringify({ blogId: blogId, id: id }) ,就能发送 cookie – dudu 2个月前 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(2) 0 jQuery版本是? RosonJ | 园豆:3627 (老鸟四级) | 2020-06-09 20:09 確認一下未傳送的cookie 的SameSite 屬性為何
按照新的規則,SameSite=None 才能跨域傳送 支持( 1 ) 反对( 0 ) RosonJ | 园豆:3627 (老鸟四级) | 2020-06-09 20:14 1.7 支持( 0 ) 反对( 0 ) dudu | 园豆:39012 (高人七级) | 2020-06-09 21:02 @RosonJ: 如果去掉 data: JSON.stringify({ blogId: blogId, id: id }) 就能发送 cookie 支持( 0 ) 反对( 0 ) dudu | 园豆:39012 (高人七级) | 2020-06-09 21:06 @RosonJ: SameSite 设置的是 Unspecified options.Cookie.SameSite = SameSiteMode.Unspecified 支持( 0 ) 反对( 0 ) dudu | 园豆:39012 (高人七级) | 2020-06-09 21:12 @dudu:
我試了去掉data、cookie SameSite=None 都沒用
得再試試 支持( 0 ) 反对( 0 ) RosonJ | 园豆:3627 (老鸟四级) | 2020-06-10 09:19 @RosonJ: 我这里去掉 data 是可以的,所跨域请求的服务端需要允许 CORS 支持( 0 ) 反对( 0 ) dudu | 园豆:39012 (高人七级) | 2020-06-10 09:27 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 请求头的原因吗Content-Type: application/x-www-form-urlencoded ly0316 | 园豆:202 (菜鸟二级) | 2020-08-10 10:31 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。