跨域ajax请求后保留cookie

2024-04-03

一个 JavaScript 应用程序运行在10.0.0.1尝试通过跨域 ajax 调用来验证其用户。

该请求如下所示:

function test(again){
  $.ajax({
    type: 'GET',
    url: 'http://example.com/userinfo',
    dataType: 'json',
    success: function(userinfo){
      if(again)
        test(false);}});}
test(true);

服务器的第一个响应尝试设置 cookie:

Access-control-allow-origin:http://10.0.0.1
Set-Cookie:PHPSESSID=uuj599r4k1ohp48f1poobil665; expires=Sat, 28-Jan-2012 17:10:40 GMT; path=/

但第二个请求不包含此 cookie,也不包含对该域的任何其他 ajax 请求。

我并不是想读取另一个域的 cookie,我只是希望另一个域上的应用程序能够设置和读取自己的 cookie。

这可能吗?

我已经在 Chrome 和 Firefox 9 中进行了测试。


服务器应设置标头:

response.Headers.Add("Access-Control-Allow-Credentials", "true");

客户端设置为:

xhrFields: {
  withCredentials: true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨域ajax请求后保留cookie 的相关文章

随机推荐