我通过jquery.ajax
call()调用restAPI,一旦完成,我就无法使用其他ajax调用,因此我被spring security
抛弃了。我注意到完成restAPI调用后JsessionID
发生了变化(我使用httpFox插件来火狐)。因此,在其余 API 调用之后,我将通过 Spring Security 重定向到登录页面。我注意到我不再是授权用户了。我想如果我可以保留最初的“jsessionID”并通过浏览器使用它那就没问题了。谁能给我一些指导我该怎么做?提前致谢。
这是我的其余 api 代码
jQuery.ajax({
type: "POST",
//contentType: "application/json; charset=utf-8",
url: restUrl,
data: "{}",
dataType: "json",
success: function(msg) {
// load grids
try{
loadBaseGrid(); //this is a jqgrid
//will trigger once ajax call is success. but this
//will not complete successfully. becouse of the jsession ID change
}catch(e){
trace('Error in loadBaseGrid -'+e);
}
},
beforeSend : function(req) {
//req.setRequestHeader("Access-Control-Allow-Origin", "*");
//req.setRequestHeader('Authorization', token);
},
error:function (xhr, ajaxOptions, thrownError){
var res = xhr.responseText;
try{
//var err = JSON.parseWithDate(res);
trace(err);
}catch(e){
trace('Error ->'+e);
}
}
});
最佳答案
尝试附加 JSESSIONID=?在 jquery 中的其余 url 上
所以:
url: restUrl="JSESSIONID=YOUR SESSION ID",
关于javascript - ajax 调用另一个 url 重置 JsessionId 因此无法继续处理其他链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060952/