账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    浏览器跨域请求无法往存储里写入cookie
    72
    0
    我用express写了一个简单的服务器,在实现前端登录时发现设置在相应头里的cookie一直存不到浏览器里,我也在响应头里设置了Access-Control-Allow-Credentials,但是浏览器还是获取不到cookie这是代码res.setHeader("Access-Control-Allow-Credentials", true)// ...res.cookie("SESSIONID",sessionId,{maxAge:1800000, httpOnly: true})这是浏览器里看到的请求后边的请求里也不见吧cookie放到请求头里
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 胖元帅 普通会员 1楼

      浏览器跨域请求之所以无法往存储里写入cookie,可能有以下几个原因:

      1. 浏览器设置问题:浏览器设置的同源策略(同源策略是指浏览器在处理跨域请求时,会先检查请求的来源,如果请求的来源不是当前页面的源(如js文件、图片文件等),则不会允许请求。如果浏览器设置为同源策略,那么请求将无法往存储里写入cookie。

      2. JavaScript设置问题:在JavaScript中,如果你想要在跨域请求中写入cookie,你需要使用XMLHttpRequest对象来发起请求,并且在请求的url后面添加//localhost:8080/cookie-name来指定cookie存储的位置。如果你使用的是fetch API,那么你可以直接发起请求并设置cookie,如下所示:

      javascript fetch('https://localhost:8080/cookie-name') .then(response => response.json()) .then(data => { // 在这里写入cookie localStorage.setItem('cookie-name', data); }) .catch(error => console.error(error));

      1. 服务器设置问题:如果你的服务器设置了对跨域请求的限制,那么请求将无法往存储里写入cookie。

      2. JavaScript库设置问题:如果你使用了某个JavaScript库来处理跨域请求,那么这个库可能在处理请求时限制了cookie的写入。

      如果你的尝试都无法解决问题,可能需要检查你的浏览器、JavaScript代码以及服务器设置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部