将HTML数据传递到服务器的最佳方法是什么。
我有一个htmlPage,其div
。我想将此innerHTML
的{{1}}传递给服务器,以便我可以将其保存在会话中并稍后重新创建div
在编辑流程中。
我创建了一个隐藏的字段:
div
在这个隐藏字段中,我想设置<input type="hidden" name="selectedTemplateHtml" id="selectedTemplateHtml" />
的HTML并发布到服务器。
请建议。
我尝试使用div
简单地从div传递html但是在编辑流程中我们检索存储的值它会给出异常,因为它不能将HTML存储在javascript变量中,因为HTML跨越了很多行。
请建议。
在我的情况下,我能够使用换行符发布请求,并且我能够取回我发布的html,但是当我尝试将其存储在javascript变量中时,由于新的行字符和双引号,它给出了错误
@Alexander 以下代码用于在编辑流程中显示html:
$("#divName").html()
它在第一行的浏览器控制台中提供异常,即:。
cdHtml="${postAdBean.cdHtml}";
templateId="${postAdBean.templateId}";
$("#"+templateId).html(cdHtml);
这是因为它无法将从服务器返回的html转换为javascript字符串。
答案 0 :(得分:0)
好的,我得到了它的工作: 在隐藏字段中设置html之前从客户端我编码:
selectedTemplateHtml=encodeURIComponent(selectedTemplateHtml);
$("#selectedTemplateHtml").val(selectedTemplateHtml);
这是逃避某些角色的必要条件,例如&amp;在HTML中,否则可能会导致问题。
在java中: 字符串
cdHtml=URLDecoder.decode((request.getParameter("selectedTemplateHtml")),"UTF-8");
cdHtml=cdHtml.replace("\n"," ").replace("\r", " ").replace("\t", " ");
cdHtml=cdHtml.replace("\"", "\\\"");
即。首先我解码html然后替换所有换行符并转义双重代码。然后我将html发送回浏览器,它可以在javascript中轻松分配,没有任何问题。