withCredentials无法让localhost:9000的ajax请求访问9999下的api时自动带上cookie?

  1. 二者端口号不同,都是localhost下

  2. 9999是前端,9000是后端

  3. 后端代码已设置如下头部

        header("Access-Control-Allow-Origin: http://localhost:9999/test.html");
        header('Access-Control-Allow-Credentials:true');
  4. 前端ajax请求已设置withCredentials为true

以上条件都满足, 但是在查看localhost异步请求的Request headers时没有看到cookie字段。请问是什么原因?

阅读 3.2k
2 个回答

header("Access-Control-Allow-Origin: *")
先试试

header("Access-Control-Allow-Origin: http://localhost:9999")
先判断下是否请求成功并返回数据
再检查是否获取cookie数据,像这种请求还得设置:
header("Access-Control-Allow-Headers:X-Requested-With,Origin, Content-Type, Cookie, Accept")
如果请求是非简单请求,那么还要设置:
header("Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS")

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题