【问题标题】:Session Attribute Not getting updated in .gsp Page after Ajax CallAjax 调用后 .gsp 页面中的会话属性未更新
【发布时间】:2015-03-05 20:50:55
【问题描述】:

我在我的 .gsp 页面中使用会话属性,如下所示:

<g:set var="maxValue" value="${session?.MY_VAR}"/>

我正在从 Javascript 向 Groovy 控制器 ( MyController.groovy ) 进行 AJax 调用,并将其设置如下:

session.setAttribute("MY_VAR", "abc");

在 Ajax 调用返回到 GSP 之后。会话变量的值不会更新。它仍然存储上一次加载的旧值。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 发布更新会话变量的代码。

标签: java ajax grails session-variables


【解决方案1】:

您的 GSP 在服务器上生成,生成的 HTML 将发送到浏览器。您的 Ajax 调用不会强制刷新页面,因此不会重新评估 GSP 以及下面的行,变量 maxValue 也不会更改。

<g:set var="maxValue" value="${session?.MY_VAR}"/>

您应该考虑在控制器中将render as JSON 返回maxValue,并在收到Ajax 响应后使用JavaScript 更新DOM。请参阅render 了解更多信息。

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 2019-08-31
    • 2014-07-11
    • 1970-01-01
    • 2013-12-11
    • 2017-01-18
    • 2011-08-17
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多