簡體   English   中英

當響應中重新加載頁面的HTML內容時,如何在Ajax調用期間保留值?

[英]How to preserve values during Ajax call when HTML contents of page is getting reloaded in response?

HTML頁面包含30個字段的組合“復選框和文本區域”。

<div class='myClass'>

 //xyz.jspf included here under
 <div class='myform'>
 <button refresh />
 <c:if test='something-1'>
    <checkbox1> <Textarea1> Account Data
 </c:if>
 <c:if test='something-n'>
    <checkbox-n> <Textarea-n> Account Data
 </c:if>
 </div>

</div>

用戶可以填寫隨機字段。

在單擊按鈕刷新時,會有Ajax調用發送HTML,我們將更新頁面,如:

$(".myClass").remove();
$(".myClass").html(ajaxResponse); // this contains xyz.jspf which have no data.

用Javascript保存用戶輸入的數據的最佳方法是什么? 將ajax響應內容發布到頁面后,可以輕松地重新設置哪個? 我應該將其存儲在Javascript的JSON中嗎? 我不想寫30行來設置每個值,也不想寫60行來獲取值。

更新 :另外,不確定是否可以使用Ajax Controller進行處理,因為調用了一個服務,該服務將填充將要插入HTML元素的所有值。 以下是Ajax控制器代碼:

  @RequestMapping(value = "get/accounts", method = RequestMethod.GET)
  @ResponseBody
  public String getAccounts(@ModelAttribute("user") User user, @ModelAttribute("myForm") MyForm form) {
  form.setAccounts(webservice.getAccounts(personID))        
  return "/accountliste/xyz";

}

  1. 嘗試添加一個將值存儲在會話變量中的函數(如果需要,可以是JSON或其他變量)。

  2. 然后,在按鈕的單擊處理程序中,調用該函數以保存值,並進行Ajax調用。

  3. 在Ajax成功(可能是錯誤)回調中,讀取會話變量並再次以表格形式設置值。

暫無
暫無

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

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