今天在做导出功能时 按照老套路直接用window.location.href拼接参数导出数据,发现打印SQL报错,调试发现参数过长导致后面一部分参数值直接给了其他参数。
所以只能考虑POST请求了,首先会想到异步请求ajax,但是由于ajax请求是与后台进行字符串交互的,并不能导出Excel,然后只能另想办法。
通过网上给出的隐藏表单,提交表单来发送请求的方式,太麻烦。
最后想到一个办法,就是先用ajax发送请求,后端接收参数存在Session里,然后在ajax的回调函数里再使用window.location.href,测试成功!
下面给出代码:
$.post(ctx + '', {actorName : $("#actorName").val(),...,....,..,..,.,}, function (data) { if (data == "ok") { //alert("参数保存成功!"); window.location.href = ctx + ''; } })