导出Excel时使用window.location.href出现参数过多的问题

  今天在做导出功能时 按照老套路直接用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 + '';
            }
        })
 
原文地址:https://www.cnblogs.com/yuqingya/p/12591996.html