会话属性在Ajax调用之后,未在.gsp页面中更新

时间:2015-03-05 20:50:56

标签: java ajax grails session-variables

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

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

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

session.setAttribute(“MY_VAR”,“abc”);

Ajax调用返回GSP后。会话变量的值不会更新。它仍然存储先前加载的旧值。

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

1 个答案:

答案 0 :(得分:0)

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

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

您应该考虑控制器中的render as JSON返回maxValue并在收到Ajax响应后使用JavaScript更新DOM。有关详细信息,请参阅render