ajax - GET请求在每个会话中继续使用相同的旧cookie

时间:2014-03-05 16:07:07

标签: ajax cookies cors

这是我的两个ajax请求:

$.ajax({
    type: "POST",
    contentType: "application/x-www-form-urlencoded ",
    url: "https://example.com/j_spring_security_check",
    data: { j_username: "mmm@mmmm.com", j_password: "mmmm" },
    error: function (request, status, error) {
            alert("POST LOG IN REQUEST:\t" + request + "\nSTATUS:\t" + status + 
                  "\nERROR:\t" + error);
    }
});

$.ajax({
    type: "GET",
    dataType: "json",
    xhrFields: {
       withCredentials: true
    },
    url: "https://mmm.com/rest/xxx/",
    success: function(output, status, xhr) {
        var flight = output;
        alert(flight[0].flight.toAirport.name);
        //return flight;
    }, 
    error: function (request, status, error) {
        alert("GET ALL FLIGHTS REQUEST:\t" + request + "\nSTATUS:\t" + status + 
              "\nERROR:\t" + error);
    }
});

当我运行代码并使用firebug时 - 第二个请求在每个新会话中继续使用相同的旧cookie。我想要发生的是第二个请求将使用我的第一个POST(登录)请求中的cookie。我已尝试过withCredentials的几种变体:true / false和crossDomain:两个请求都是true / false。

当我清除cookie时,get请求将创建自己的cookie。然后我刷新页面让脚本再次运行。 POST请求将创建一个新的cookie(应该如此),但get请求将重新使用它之前创建的cookie。

0 个答案:

没有答案