[英]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";
}
嘗試添加一個將值存儲在會話變量中的函數(如果需要,可以是JSON或其他變量)。
然后,在按鈕的單擊處理程序中,調用該函數以保存值,並進行Ajax調用。
在Ajax成功(可能是錯誤)回調中,讀取會話變量並再次以表格形式設置值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.