您无法使用Ajax下载文件。出于明显的安全原因,JavaScript没有任何功能可以触发与JavaScript上下文中任意检索/生成的内容的“ 另存为” 对话框。如果可以的话,万维网看起来会大不相同。
如果您坚持要使用JS / jQuery,则需要发送syncnus GET请求。您可以使用window.location
(只需重命名doPost()
为doGet()
)来执行此操作。
window.location = 'pdfServlet?param1=value1¶m2=value2';
另外,只需丢弃所有不必要的JS / jQuery,然后将纯HTML <form action="pdfServlet" method="post">
与结合使用即可<input type="submit">
。额外的好处是它可以在禁用JS的浏览器中使用。
如果您获取ajax的唯一原因实际上是为了避免刷新页面而天真的尝试,那么我可以告诉您,如果响应中包含Content-Disposition: attachment
标头,则实际上不会发生这种情况。因此该部分已经安全。