html如何接收java后台传递来的字符串或者json串,我有后台的图片,请看看图片帮忙写一个html前台。谢谢!

2024-11-17 09:40:10
推荐回答(4个)
回答(1):

你可能有点搞混了。
你的dataType:html,的话是无法接收后台传的json串的。
由于你后台return "wanglongtest.html",所以前台ajax接收是一个
html对象,则前台可以按如下代码处理:
success: function(rs){
$("#testDiv").html(rs);
}

html:




------------------------------------
如果你想接收后台的类型为json,那么后台servlet方法中只需要return null;
完整代码见如下:
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");

//设置响应格式和字符集(与前端页面一致,否则会有乱码问题)
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
Map model = new HashMap();
model.put("zhangsan",true);
JSONObject json = new JSONObject(model); //将一个map对象实例化成一个json对象
out.write(json.toString());
out.flush();
out.close();

return null;
前台js:
$.ajax({
type: "POST",
url: "请求地址",
dataType: "json", //指定请求的数据类型
data:"type=1", //传到后台的参数,后台可以通过request.getParameter("type")获取
success:function(rs){
alert(rs.zhangsan); //我这里以弹出框的方式显示zhangsan对应的value
//也可以为html中的标签赋值
$("#testAjax").val(rs.zhangsan);
}
},"json")
});

html:


其实楼上的同学们已经大概说清了如何处理,我这里只是帮你进一步理清dataType:html和dataType:json的具体处理方式,如有疑问可留言。

回答(2):

你前后台代码就没有对应起来。取到值就怪了。
注意你ajax中的参数传递、ajax的url是否映射正确了。

回答(3):

传给JSP, 用request.setAttribute();传呗,

回答(4):

你是用ajax做的么


$.ajax({
url : "${rootUrl}traffic/check.service",
type : "GET",
data : "type=1",
dataType : "html",
success:function(msg){
$("#resultXml").html(msg);
},
error:function(msg){
$("#resultXml").html("请求失败");
}
});