post方式实现下载文件、打开新页面(ie8可用)

post方式实现下载文件、打开新页面(ie8可用)

** 项目迁移到了云环境,带有参数的a标签,点击一次下载有时会下载两个文件。所以改为post方式提交下载需要的参数**
代码中append()方法行顺序不要改变,会影响ie8不生效

var DownLoadFile = function (options) {
    var config ={ method: 'post' };
    var $iframe = $('<iframe id="down-file-iframe" />');
    var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');
    $(document.body).append($iframe);
    $iframe.append($form);
    $form.attr('action', options.url);
    for (var key in options.data) {
        $form.append('<input type="hidden" name="' + key + '" value="' + options.data[key] + '" />');
    }
    $form[0].submit();
    $iframe.remove();
};
//调用方法实现下载。
DownLoadFile({
            url:BASE_URL + 'Download/testDownLoad',
            data:Exceldata
        })

上面js会打开一个新窗口/页面,下载文件或者展示内容。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JavaScript的Post方式在当前窗体打开新页面,可以通过以下步骤实现: 首先,我们需要监听一个事件,如点击按钮,来触发Post方式。可以通过添加一个Button元素,并给它一个唯一的ID,如"newWindowBtn"。 其次,在JavaScript中,获取该按钮元素,可以使用document.getElementById方法,传入按钮的ID作为参数,然后将其赋值给一个变量,如btn。 然后,使用addEventListener方法,给该按钮添加一个点击事件监听器。在监听器函数中,我们将使用post方式打开新的页面。 接下来,我们需要构建一个表单元素,其中包含将要发送给服务器的数据。可以使用document.createElement方法创建一个form元素,并将其赋值给一个变量,如form。 然后,将该form元素添加到当前文档的body中,可以使用document.body.appendChild方法,将form元素作为参数传入。 接下来,我们使用form元素的属性来设置表单的属性。可以使用form的action属性设置表单提交的URL,可以使用form的method属性设置请求的方式,这里是post。 如果需要向服务器发送数据,可以使用form的innerHTML属性创建一个包含input元素的字符串,并将其赋值给form的innerHTML属性。 在创建好表单之后,我们可以使用form.submit方法来提交表单,并在当前窗体中打开新页面: btn.addEventListener('click', function() { var form = document.createElement('form'); form.action = 'your_url_here'; form.method = 'post'; form.innerHTML = '<input type="hidden" name="your_data" value="your_value">'; document.body.appendChild(form); form.submit(); }); 在以上代码中,需要将'your_url_here'替换为你要打开新页面的URL地址,以及根据需要,修改name和value以适应你要发送的数据。 以上就是使用JavaScript的Post方式在当前窗体打开新页面的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值