在struts2中使用jQuery插件ajaxfileupload

本文详细介绍了如何在Struts2框架下结合jQuery插件ajaxfileupload实现文件的AJAX上传功能。包括页面中引入的JavaScript代码示例、服务器端Struts2配置以及返回JSON结果的具体步骤。强调了通过正确配置服务器端的contentType参数解决浏览器接收JSON结果的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ajaxfileupload是一款jQuery插件,用来实现文件的ajax方式上传功能。
下载地址:
http://www.phpletter.com/download_project_version.php?version_id=6

在页面中使用ajaxfileupload其实很简单,在页面加入如下JavaScript代码:
Java代码
function ajaxFileUpload()
    {
        $.ajaxFileUpload
        (
            {
                url:'/ajax/upload.action',
                secureuri:false,
                fileElementId:'fileToUpload',
                dataType: 'json',
                success: function (data, status)
                {
                    if(typeof(data.error) != 'undefined')
                    {
                        if(data.error != '')
                        {
                            alert(data.error);
                        }else
                        {
                            alert(data.msg);
                        }
                    }
                },
                error: function (data, status, e)
                {
                    alert(e);
                }
            }
        )
       
        return false;

    }  

下载下来的包中有一个例子,不过服务器是PHP。我们需要在服务器端使用Struts2,并且需要struts2返回json结果,因此struts2需要json插件,下载地址:
http://jsonplugin.googlecode.com/files/jsonplugin-0.33.jar
struts.xml配置中的Action结果类型:

<action name="upload" class="...">     

             <result type="json">   

                  <param name="contentType" value="text/html"/>     

           </result>     

</action>  

 其中,contentType参数是一定要有的,否则浏览器总是提示将返回的JSON结果另存为文件,不会交给ajaxfileupload处理。这是因为struts2 JSON Plugin默认的contentType为application/json,而ajaxfileupload则要求为text/html。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值