我有一个与使用 POST 下载文件有关的问题。
我有以下 javascript 向服务器端发送 POST 请求以下载文件:
function postCall(url, params) {
function doPostCall() {
var newForm = jQuery('<form>', {
'method':'POST',
'action': url
});
for(key in params) {
if (params.hasOwnProperty(key)) {
newForm.append(jQuery('<input>', {
'name': key,
'value': params[key],
'type': 'hidden'
}));
}
}
newForm.appendTo("body").submit();
}
从 HTML 页面中的不可见 iframe 调用此方法。这个页面还有另一个普通的 GET 请求来获取静态 HTML。但是,每次调用上述方法时,获取静态页面的调用永远不会从服务器端返回。
我知道用这么少的信息有点难以理解,但是代码很大而且很难放在这里。我的问题是:
- 上面使用不可见表单发送 POST 请求以获取文件的代码有什么明显的问题吗?
- 有没有其他更好的方法可以向服务器发送 POST 请求以下载文件。(人们说不能使用 Ajax 调用来下载文件)?
- 如果此代码正常且没有其他方法可用。在整个页面加载完成并且所有其他请求都完成后,是否有强制此方法在最后一件事上运行?