我登录mywebsite1.web.com
的tomcat实例,并在其中获得JSESSIONID。作为浏览活动的一部分,我转到mywebsite2.web.com
上的另一个tomcat实例-在该实例中,我获得了另一个JSESSIONID。
作为活动的一部分,我需要对mywebsite1.web.com/user_activity
进行AJAX POST调用。我了解的是,mywebsite1.web.com
的JSESSIONID将不传递,除非我将withCredentials
传递为true。换句话说,如果我从mywebsite2.web.com/a_random_browser_page
执行以下操作:
$.ajaxSetup({
url: "mywebsite1.web.com/user_activity",
global: false,
type: "POST",
xhrFields: {
withCredentials: true
}
});
$.ajax({ data: '' });
我是否将发送正确的JSESSIONID(最初由“ mywebsite1.web.com”开头发布)?我是否需要在mywebsite1.web.com
上设置任何其他标题才能使其正常工作?
**注意**
我在响应中设置了以下标头
("Access-Control-Allow-Origin", "https://mywebsite2.web.com");
("Access-Control-Allow-Credentials", "true");
("Access-Control-Allow-Methods", "GET,PUT,POST,OPTIONS");
("Access-Control-Allow-Headers", "Content-Type,Accept,X-Requested-With,Session")
我试图用浏览器访问该URL,该URL成功运行并在开发控制台检查器上正确显示了标题。所以我不确定这是怎么回事。 谢谢,