【问题标题】:Grails RemoteLink and CookieGrails RemoteLink 和 Cookie
【发布时间】:2012-07-23 12:49:56
【问题描述】:

你好(对不起我的英语不好),

我有一个看起来很简单的问题: 我想使用 remoteLink 设置一个 cookie 并使用 cookie 值作为响应。 它效率不高,因为我必须在链接上单击两次才能获得正确的行为。 我怀疑这是因为 cookie 值是在模板调用之后发送的。

这里是我的 gsp:

${agence.delegation}
<small>
    <g:if test="${cookie(name:'delegationId') == agence.id.toString()}">
        <g:remoteLink controller="docDelegationSite"
                      action="deleteDefaultAgency"
                      update="defautAgencyId"
                      params="${[delegationId: agence.id]}">
            Changer d'agence par défaut
        </g:remoteLink>
    </g:if>
    <g:else>
        <g:remoteLink controller="docDelegationSite"
                      action="defineDefaultAgency"
                      update="defautAgencyId"
                      params="${[delegationId: agence.id]}">
            Définir comme agence par défaut.
        </g:remoteLink>
    </g:else>
</small>

这里是我的控制器:

def defineDefaultAgency() {
    def agence = DocDelegationSite.read(params.delegationId)
    cookieService.setCookie(response, 'delegationId', params.delegationId)
    render template: '/docDelegationSite/delegationCookie',
        model: [agence: agence]
}

def deleteDefaultAgency() {
    def agence = DocDelegationSite.read(params.delegationId)
    cookieService.setCookie(response, 'delegationId', null)
    render template: '/docDelegationSite/delegationCookie',
        model: [agence: agence]
}

那么,如何确保 cookie 的值在模板调用之前发送?

【问题讨论】:

    标签: ajax grails cookies


    【解决方案1】:

    cookie 可从下一个 http 请求获得。我认为您还不清楚 cookie 的行为。看看http cookie

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2012-01-21
      相关资源
      最近更新 更多