1. 针对的问题:
由于便捷高效,大部分前端采用jsp,但仍存在前端页面为index.html文件,所以,对于前后端数据的传送及显示有一定的问题。
2. 解决办法:
声明:本人前端页面名称index.html,后端产生数据的是servlet层,文件名称为 Pre_sensorServlet.java
需要给以下页面标红的格子里传入由后端获取到的数据(因为项目还未结题,仍处于保密阶段,文字信息已抹掉)
(1) 在前端页面文件中插入ajax(重点是这段代码!!!)
$.ajax({
url : "http://localhost:8080/xxxx(你的工程名字)/Pre_sensorServlet", (这是第一步,用来请求运行并传输后端数据的代码)
type : "post",
dataType:"json",(后端传输过来的数据类型,可有可无,如果没有,程序会自行判断数据格式,不过我的是json)
success : function(data)(data用来接收Pre_sensorServlet传输过来的数据)
{
//返回的数据带有[],用replace去掉
ttd.innerText =data.replace(/\[|]/g,‘‘); (我输出看了一下,我的数据为[192],因此需要去除中括号,仅保留数据,在之后赋值给td)
},
error : function()
{
alert("数据传输失败!");
}
});
2,展示我的Pre_sensorServlet.java的部分代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
int calPreSensorNum = pre_sensorService.getCalPreSensorNum();//192 本代码返回数据只有一个,list型数据另说
JSONArray data = JSONArray.fromObject(calPreSensorNum);//[192] // 这部分是将获取到的数据转为json
response.setCharacterEncoding("utf-8");
PrintWriter respWritter = response.getWriter();
respWritter.append(data.toString()); //[192]
}
3. 总结
在ajax中:
url部分,[email protected](value="/")也可以,只是本人在注解方面用的不是特别娴熟,所以直接用绝对路径访问servlet层代码,获取数据。
给td赋值时,由于是html文件,需使用 ttd.innerText = data 来赋值。(ttd为
)本人返回的数据为json格式,其他格式的数据另说。
运行结果,就为上述的第一张图片结果展示
原文:https://www.cnblogs.com/lwcwj/p/12793242.html