如何以html格式提交时尚为AJAX调用设置目标选项?

时间:2014-02-24 18:35:40

标签: javascript ajax forms

在我正在工作的这个项目中,我需要从存储库中获取一些文件。这些文件是通过FileStream提供的,其目的是能够在请求完成后立即下载。服务器强制它通过application / octet-stream规则下载。

<form id="myForm1" action="http://fakepath/repository" target="iframe">
    <input type="hidden" name="id" value="bP0QjyW5Rmf5yZWNslO0jxNbPg2zXCNLGCTl4bIlhfqQsUxyJ2lFsVimEn1CDQYN">
    <button type="submit">DOWNLOAD</button>
</form>
<iframe frameborder="0" id="iframe"></iframe>

以上内容对公共文件非常有用,但问题在需要下载私有文件时启动 - 必须通知授权令牌。 AFAIK,我无法在HTML表单上设置标题提交。 AJAX调用是理想的,因为我可以在每个请求上设置自定义标头,但不知道是否可以为响应设置目标,就像表单一样。我知道我可以处理回调中的响应,但我所拥有的一切都是文件的二进制内容被打印,而不是下载。

说到这里,我有以下问题: - 使用AJAX,有没有办法模仿这种表单行为,即在响应中设置自动目标到iframe,强制文件下载? - 还有其他方法可以在Javascript上处理FileStreams,我可以在这里发送Headers吗?

1 个答案:

答案 0 :(得分:0)

尝试

$('form').serialize();

这应该可以为您提供AJAX表格中的所有内容。你需要jQuery。