NeX*_*XuS 43 cookies ajax https http
我知道之前已经以各种形式提出过这个问题,但我似乎无法解决这个问题.我已经尝试使用jQuery和本机JS API来发出Ajax请求.
我的情况如下(见附图):
在任何人开始关于跨域请求的讲座之前,请先说明一些事情:
Access-Control-Allow-Origin
在响应中设置标头的原因(我使用的是Chrome和Firefox,两者都支持CORS)那么,为什么,为什么,为什么浏览器在进行HTTPS Ajax调用时不会传递cookie?有任何想法吗?我快要忘了......
+-----------+ HTTP Request +-----------+
|Browser |+---------------->|Server |
+-----------+ +-----------+
HTTP Response
<----------------+
Set-cookie
Ajax HTTP Req.
+---------------->
Cookie (OK)
HTTP Response
<----------------+
Set-cookie (OK)
Ajax HTTPS Req.
+---------------->
No Cookie (!!!)
Run Code Online (Sandbox Code Playgroud)
NeX*_*XuS 72
好的,找到了cookie问题的解决方案.
请参阅XHR规范,jQuery文档和StackOverflow.
切换协议和/或子域时发送cookie的解决方案是将withCredentials
属性设置为true
.
例如(使用jQuery)
$.ajax( {
/* Setup the call */
xhrFields: {
withCredentials: true
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30691 次 |
最近记录: |