Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File upload 在Struts2中使用AJAX上传文件,无需页面刷新_File Upload_Struts2 - Fatal编程技术网

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

File upload 在Struts2中使用AJAX上传文件,无需页面刷新,file-upload,struts2,File Upload,Struts2,我想上传文件使用Struts2,但不刷新页面 如何将AJAX用于此解决方案 $.ajax({ url:"strutsaction", type : 'POST', async: false, }); 我应该为ajax请求中的数据和内容类型编写什么 jsp代码: <s:form action="strutsaction" method="post" enctype="multipart/form-data"> <s:file name="imgFileUpl

我想上传文件使用Struts2,但不刷新页面

如何将AJAX用于此解决方案

$.ajax({
url:"strutsaction",
type : 'POST',
async: false,

});
我应该为ajax请求中的数据和内容类型编写什么

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>

您好,下面的代码对我有效。我希望它能帮助你

JSP代码:
您希望/需要支持哪些浏览器?Chrome、Safari、IE和FirefoxUsing
async:false
将使浏览器在事务处理过程中无响应,不推荐使用。你为什么不谷歌“ajax文件上传”?对于完全跨浏览器的解决方案,最好使用现有的包装器或JS库,否则从头开始编写就不那么简单。您可以使用
XMLHttpRequest()
异步上载文件,但在IE8及以下版本中不起作用。看一看。对于IE8及以下版本,您可以使用隐藏iframe上载。我正在我的项目中使用可能的副本
<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>
$("#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);
        }
    }); 
});