用表单代替location.href

书接上文,上午遇到error parsing http request header问题,用ajax传对象可以解决问题,但文件下载只能用location.href,传参数如果有中文又有可能出现问题,所以上午想的办法是如果有中文先进行转码,但这个方法确实不好,下午看到有人写了一个思路,将参数利用js做成表单,用表单提交方法代替location.href,方法还是比较巧妙,比转码好得多,具体代码如下

function createFormForExport(url,params) {
    // 创建Form
    var form = $('<form></form>');
    // 设置属性
    form.attr('action', url);
    form.attr('method', 'post');
    for (var item in params) {
        // 创建Input
        var formInput = $('<input name="' + item + '" type="hidden" value="' + params[item] + '" />');
        // 附加到Form
        form.append(formInput);
    }
    $(document.body).append(form);
    // 提交表单
    form.submit();
    form.remove();
}

params是一个js对象,就酱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值