簡體   English   中英

通過JavaScript重定向時如何保持StatefulSnippet var值

[英]How to keep StatefulSnippet var values when redirecting through Javascript

我有一個圖像鏈接,當我單擊它時,我想對某些類變量進行一些更改,然后重定向到其他頁面並使用這些值。

這是我的代碼,即時通訊使用StatefulSnippet

class MySnippet extends StatefulSnippet {

  var selectedStudent: Student=null

  def students =
    ".tabla" #> studentsList.map { s =>
      "#id" #> s.Id &
      "#name" #> s.Name & 
      "#surname" #> s.Surname &
      "#buttonAcademic [src]" #> tickUrl &
      ".clickableAcademic [onclick]" #> SHtml.onEvent(onClickCallbackAcademic(s))
    }

  def onClickCallbackAcademic(student: Student,xhtml:NodeSeq)(s: String): JsCmd = {
    //makes some stuff to student
    selectedStudent = student
    JsCmds.RedirectTo("/Academic")
  }

}

但是,當我重定向到另一個頁面時,我的var selectedStudent為null,我嘗試調試,並且selectedStudent具有正確的值,但是在重定向時它將變為null。 有任何想法嗎?

StatefulSnippet使用HTML表單和隱藏參數將信息(應使用哪個片段實例)傳遞到Lift的服務器端。

因此,JS重定向將不起作用,因為它不會傳遞這些信息。

我想到了一些在這種情況下可能有效的解決方案:

  • 在您的onClickCallbackAcademic中包裝表單並由JS提交。

  • 代替使用StatefulSnippet,使用SessionVar存儲您的selectedStudent,這樣您就可以在不提交表單的情況下使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM