摘要:前台传数组,后台的接收后台接收前端发送的数组类型数据两种解决方法第一种方法,前端将数组通过方法转换为格式数据,后台将接收的数据转换为数组将接收的数据转换为数组第二种方法,前端通过设置属性为直接传递数组后台通过对象接收用传统方式序列
前台AJAX传数组,后台的java接收(后台接收前端发送的数组类型数据)两种解决方法
第一种方法,前端将数组通过JSON.stringify()方法转换为json格式数据,后台将接收的json数据转换为数组
function search() {
var equiNames = JSON.stringify($("#equiNames").val());
var startDate = $("#daterange-btn span").text().substring(0, 10);
var endDate = $("#daterange-btn span").text().substring(13);
$.ajax({
url : "dataAcquisition/report",
type : "post",
dataType : "json",
data : {
"equiNames" : equiNames,
"startDate" : startDate,
"endDate" : endDate
},
success : function(result) {
……
}
}
});
}
@RequestMapping("/report")
public void report(String equiNames, String startDate, String endDate, HttpServletRequest request,
HttpServletResponse response) throws ExecutionException, InterruptedException, IOException, ParseException {
//将接收的json数据转换为数组
List equiNameList = new Gson().fromJson(equiNames, new TypeToken>() {
}.getType());
List resultList = dataAcquisitionService.report(equiNameList, startDate, endDate);
response.setContentType("application/json; charset=UTF-8");
response.getWriter().write(new Gson().toJson(resultList));
}
第二种方法,前端通过设置traditional属性为true直接传递数组 */,后台通过对象接收
function search() {
var equiNames = JSON.stringify($("#equiNames").val());
var startDate = $("#daterange-btn span").text().substring(0, 10);
var endDate = $("#daterange-btn span").text().substring(13);
$.ajax({
url : "dataAcquisition/report",
type : "post",
dataType : "json",
traditional : true,//用传统方式序列化数据
data : {
"equiNames" : equiNames,
"startDate" : startDate,
"endDate" : endDate
},
success : function(result) {
……
}
}
});
}
对象
@RequestMapping("/report")
public void report(ReportParaVo rp, HttpServletRequest request, HttpServletResponse response)
throws ExecutionException, InterruptedException, IOException, ParseException {
List resultList = dataAcquisitionService.report(rp);
response.setContentType("application/json; charset=UTF-8");
response.getWriter().write(new Gson().toJson(resultList));
}
import java.util.List;
public class ReportParaVo {
private List equiNames;
private String startDate;
private String endDate;
public List getEquiNames() {
return equiNames;
}
public void setEquiNames(List equiNames) {
this.equiNames = equiNames;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}
第二种方法效果如图所示
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/77766.html
摘要:于是我就研究如何拖动排序并永久把排序保存到数据库中,做了小时,做出来了。现在只是实现了在当前页面排序,但数据库还是老样子。在每次拖动完成后,利用这款插件内置的函数,通过方式把排序完成的每个行的传到后台。 前一段时间修改了一个旧的项目,客户要求我给表格重新排序,按医生的职称排序。因为客户的这个项目是医院的人事系统,考虑到整个医院有几千号人,要是一个个按客户的要求排得累坏我的小腰...幸好...
摘要:于是我就研究如何拖动排序并永久把排序保存到数据库中,做了小时,做出来了。现在只是实现了在当前页面排序,但数据库还是老样子。在每次拖动完成后,利用这款插件内置的函数,通过方式把排序完成的每个行的传到后台。 前一段时间修改了一个旧的项目,客户要求我给表格重新排序,按医生的职称排序。因为客户的这个项目是医院的人事系统,考虑到整个医院有几千号人,要是一个个按客户的要求排得累坏我的小腰...幸好...
摘要:于是我就研究如何拖动排序并永久把排序保存到数据库中,做了小时,做出来了。现在只是实现了在当前页面排序,但数据库还是老样子。在每次拖动完成后,利用这款插件内置的函数,通过方式把排序完成的每个行的传到后台。 前一段时间修改了一个旧的项目,客户要求我给表格重新排序,按医生的职称排序。因为客户的这个项目是医院的人事系统,考虑到整个医院有几千号人,要是一个个按客户的要求排得累坏我的小腰...幸好...
摘要:于是我就研究如何拖动排序并永久把排序保存到数据库中,做了小时,做出来了。现在只是实现了在当前页面排序,但数据库还是老样子。在每次拖动完成后,利用这款插件内置的函数,通过方式把排序完成的每个行的传到后台。 前一段时间修改了一个旧的项目,客户要求我给表格重新排序,按医生的职称排序。因为客户的这个项目是医院的人事系统,考虑到整个医院有几千号人,要是一个个按客户的要求排得累坏我的小腰...幸好...
摘要:性能会有所降低一点内容,刷新整个页面用户的操作页面会中断整个页面被刷新了就是能够做到局部刷新三对象是中最重要的一个对象。头信息已经接收,响应数据尚未接收。 一、什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准的表示技术 (2)DOM进...
阅读 678·2021-11-25 09:44
阅读 2848·2021-11-24 09:39
阅读 2450·2021-11-22 15:29
阅读 3709·2021-11-15 11:37
阅读 3621·2021-09-24 10:36
阅读 2719·2021-09-04 16:41
阅读 1255·2021-09-03 10:28
阅读 2079·2019-08-30 15:55