我是AngularJs和Spring的新手。我正在从AngularJs函数调用Spring MVC GET方法。有时不调用GET方法并提供旧的会话值。如果我使用POST可以正常工作。
如果需要更多详细信息,请发表评论。
@RequestMapping(value="/getAccessDetails", method=RequestMethod.GET)
public @ResponseBody ProcessDO getAccessDetFromSession(HttpServletRequest request){
AccessDO accessDO = null;
HttpSession session=request.getSession();
if(session.getAttribute("accessDetail")!=null) {
accessDO =(AccessDO) session.getAttribute("accessDetail");
}
return accessDO ;
}
$scope.loadDetails = function(){
$http.get(CONTEXT+'/getAccessDetails').then(function(resp){
alert(resp.data); // Getting old value
});
};
答案 0 :(得分:1)
我认为这可以解释您的问题。 之所以发生这种情况,是因为您的响应被缓存了,而当您再次尝试时,如果是GET,您将得到缓存的响应。
虽然post方法没有被缓存,也没有保存在浏览器历史记录中。
您也可以参考http_methods_get_post_difference此链接