`
hepeng19861212
  • 浏览: 146766 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jquery插件ajaxfileupload 不能解析服务器端响应的json

 
阅读更多

(转载自http://blog.csdn.net/cd0425/article/details/4836803

前台js插件ajaxfileupload+jquery的包


function ajaxFileUpload()
    {
      
        $("#loading")
        .ajaxStart(function(){
            $(this).show();
        })
        .ajaxComplete(function(){
            $(this).hide();
        });
       
  
        $.ajaxFileUpload
        (
            {
                url:'doajaxfileupload.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;

    } 
 

json插件,下载地址:


http://jsonplugin.googlecode.com/files/jsonplugin-0.33.jar

 

struts.xml配置中的Action结果类型:


<package name="jsons" extends="json-default">

<action name="upFile" class=".....">       
            <result type="json">
                <param name="contentType">text/html</param>
            </result>
        </action>

</package>
 

 

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

分享到:
评论
2 楼 Daemon_Liu 2016-03-31  
解决了我的问题,多谢
1 楼 Jabbar2011 2012-12-07  
这个问题我今天也遇到了,不过我的是IE10上出现这个问题,其他的IE都是正常的,这是为什么呢??????????这个方法确实能解决问题!

相关推荐

Global site tag (gtag.js) - Google Analytics