【问题标题】:GET Method Is Not Calling In IEGET 方法未在 IE 中调用
【发布时间】:2019-03-21 18:44:19
【问题描述】:

我是 AngularJs 和 Spring 的新手。我从 AngularJs 函数调用 Spring MVC GET 方法。有时 GET 方法不会被调用并给出旧的会话值。如果我使用 POST 它的工作正常。

如果需要更多详细信息,请发表评论。

Spring MVC 方法:

@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 ;
}

AngularJS 函数:

$scope.loadDetails = function(){
    $http.get(CONTEXT+'/getAccessDetails').then(function(resp){
        alert(resp.data); // Getting old value
    });
};

【问题讨论】:

  • 您是否遇到任何错误?您的方法签名是 ProcessDO 类型的,它必须返回 ProcessDO 类型的值。
  • Sudhir,我没有收到任何错误..是的,它会返回 ProcessDO..

标签: java angularjs spring-mvc get


【解决方案1】:

Targets of caching operations

我认为这可以解释您的问题。 发生这种情况是因为您的响应正在被缓存,当您再次尝试时,您会在 GET 的情况下获得缓存的响应。

虽然 post 方法不会被缓存,但它也不会保存在浏览器历史记录中。

也可以参考http_methods_get_post_difference这个链接

【讨论】:

  • 谢谢 Gaurav,让我看看。
猜你喜欢
  • 1970-01-01
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
  • 2023-03-23
  • 2017-09-08
  • 2023-03-17
相关资源
最近更新 更多