正在下载文件

Downloading a file?

本文关键字:文件 下载      更新时间:2023-09-26

我得到了以下方法,其目的是使用不可见的表单提交post请求。该请求是下载一个文件,该文件没有URL,但动态地从二进制文件存储中获取。服务器端是Java Servlet。

function postCall(url, params) {
    var newForm = jQuery('<form>', {
            'method':'POST',
            'action': url
        });
    for(key in params) {
        if (params.hasOwnProperty(key)) {
            newForm.append(jQuery('<input>', {
                'id': key,
                'value': params[key],
                'type': 'hidden'
            }));
        }
    }
    newForm.submit();
}

当调用此方法时,服务器端没有收到请求。我认为这个代码一定有问题。

只有带有name的输入才会提交到服务器。试试这个:

newForm.append(jQuery('<input>', {
    'name': key, //<-- change to name instead of id
    'value': params[key],
    'type': 'hidden'
}));

此外,对于IE,您还必须在提交前将表格附加到文档中:

newForm.appendTo("body").submit();