【发布时间】:2013-10-16 08:39:01
【问题描述】:
我想使用 Struts2 上传文件,但没有刷新页面。
我如何使用 AJAX 来解决这个问题。
$.ajax({
url:"strutsaction",
type : 'POST',
async: false,
});
ajax 请求中的 data 和 contentType 应该写什么?
jsp代码:
<s:form action="strutsaction" method="post" enctype="multipart/form-data">
<s:file name="imgFileUpload" label="Choose file to upload" accept="image/*"></s:file>
<s:submit value="Upload" align="center"></s:submit>
</s:form>
【问题讨论】:
-
您希望/需要支持哪些浏览器?
-
Chrome、Safari、IE 和 Firefox
-
使用
async: false会导致交易过程中浏览器无响应,不推荐。你为什么不谷歌“ajax 文件上传”?对于完全跨浏览器的解决方案,最好使用现有的包装器或 JS 库,否则从头开始编写并不是那么简单。 -
您可以使用
XMLHttpRequest()异步上传文件,但在IE8及以下无法使用。看看this post。对于 IE8 及以下,您可以使用隐藏 iframe 上传。我在我的项目中使用this plugin
标签: file-upload struts2