我想将一些html代码放到Java servlet中的JSONObject并使用ajax发送到客户端,这是我想要放入名为“resultado”的字符串变量的html代码(转义html字符):< / p>
resultado += "<a href=\"javascript:void(0);\">" + stringValue + "</a>";
这是我通过名为“resultado”的变量将html代码放入JsonObject(在我的servlet中)的方式:
response.setContentType("text/html; charset=windows-1252");
PrintWriter out = response.getWriter();
jsonGeneral.put("error", 0);
jsonGeneral.put("contenido", resultado);
out.print(jsonGeneral.toString());
out.close();
然后,$ ajax()函数的“error”属性向我显示下一句话(浏览器控制台):
SyntaxError: illegal character
<a href="\"javascript:void(0);\"">abc123...
这似乎是html转义不正确。
jsonGeneral是一个JsonObject JSONObject jsonGeneral = new JSONObject();
这是我的代码客户端:
$('#cargaDocumentoForm').ajaxForm({
dataType: 'json',
beforeSubmit: ShowRequest,
success: SubmitSuccesful,
error: function (xhr, status, error){
var err = eval("(" + xhr.responseText + ")");
console.log("err: " + err.Message);
}
答案 0 :(得分:0)
当我过去需要传递XML或类似内容时,我们在字符串上使用了base-64或URL编码,以避免担心字符转义。
从Java的角度来看,下面的内容可能会有用(代码太多,视角太多,不值得我选择一个,因为有人会抱怨): Decode Base64 data in Java
Ajax我没有考虑过,但某处会有例子。