get方式长度有限制,所以只能用post方式
$.ajax({
url:"${_baseUrl}/dd/sendDataToServer",
type:'post', //数据发送方式
data:{tableJson:tableJson},
async: false,
success: function(response, status, request){
window.location.href="${_baseUrl}/dd/exportDoc";
},
error:function(XMLHttpRequest, textStatus, errorThrown){
/* alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus); */
layer.msg("系统错误", {offset:['85%','45%']});
}
});
通过post将数据传递到后台,缓存在session或者servletContext中
@RequestMapping(value = "sendDataToServer",method = RequestMethod.POST,produces = "text/plain; charset=utf-8")
public void exportDocOfDesignTestTrack1(HttpServletResponse response){
String tableJson = request.getParameter("tableJson");
HttpSession session = request.getSession();
session.setAttribute("tableJson", tableJson);
}
然后在ajax的回调方法中,再去访问后台,获取session中的数据,去做逻辑处理;获取数据后清理缓存
@RequestMapping(value = "exportDoc",method = RequestMethod.GET,produces = "text/plain; charset=utf-8")
public void exportDoc(HttpServletResponse response){
documentSetionService.setUnlimitedLicense();
HttpSession session = request.getSession();
String tableJson = (String) session.getAttribute("tableJson");
session.removeAttribute("tableJson");
}