在Struts2中使用AJAX进行文件上传,无需刷新页面

时间:2013-10-16 08:39:01

标签: file-upload struts2

我想使用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>

1 个答案:

答案 0 :(得分:0)

以下代码对我有用。我希望它会对你有所帮助。

JSP代码:

<div id="uploadImg">
     <s:form id="uploadImgForm" 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" id="uploadImgSubmitBtn"></s:submit>
     </s:form>
<div>

的JQuery:

$("#uploadImgSubmitBtn").click(function(e){

    // Get form
    var form = $('#uploadImgForm')[0];

    // Create an FormData object
    var data = new FormData(form);

    $.ajax({
        type: "POST",
        enctype: 'multipart/form-data',
        url: "strutsaction.action",
        data : data,
        cache: false,
        processData: false,
        contentType: false,
        success: function(data){
            $('#uploadImg').html(data);
        }
    }); 
});