通过JSON将html代码从servlet传递到ajax

时间:2014-02-05 16:06:29

标签: java ajax json servlets

我想将一些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="\&quot;javascript:void(0);\&quot;">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);        
  }

1 个答案:

答案 0 :(得分:0)

当我过去需要传递XML或类似内容时,我们在字符串上使用了base-64或URL编码,以避免担心字符转义。

从Java的角度来看,下面的内容可能会有用(代码太多,视角太多,不值得我选择一个,因为有人会抱怨): Decode Base64 data in Java

Ajax我没有考虑过,但某处会有例子。