• Post Reply Bookmark Topic Watch Topic
  • New Topic

Unable to retain http session after cross domain AJAX call  RSS feed

 
ranga km
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am having a scenario such that I need to make a cross-domain ajax call (using JSONP) and get the Session id from the other domain as a JSON object wrapped around a callback method as below:


The above code is jsonPPage.jsp running in a domain say example2.com Now in example1.com, I am having a jsp page, say page1.jsp where I have a javascript method where I am making a Jquery-Ajax+JSONP call and getting the "sessionID" from example2.com/jsonPPage.jsp



I need to save the retrieved session id in the current session as a session attribute. For this, I am calling a method saveRetrievedSessionIdInCurrentSession(example2SessionId); and within that I am making a local AJAX call to a simple Servlet where I can retrieve the session from the request and save the example2SessionId as a session attribute.


Within TestServlet1, I am trying to do the following:


But within my TestServlet1 doPost() method, when I try to retrieve the session by request.getSession(), it is creating a new session. I confirmed it by doing a sysout of request.getSession().getId(). This is giving a different id that what I get when the page gets loaded initially. Basically I am not able to retrieve the session which user is associated with when the page got loaded initially.

This kind of behaviour is happening only after a cross-domain ajax call. Please tell me how can I retrieve the initial session (which means request.getSession() should not give a new session, rather it should return the existing session associated with the user)?
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!