这是我的两个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。