首页 > 代码库 > ie下ajaxSubmit提交form中包含file时,提示下载(后台采用struts2)

ie下ajaxSubmit提交form中包含file时,提示下载(后台采用struts2)

原因:主要是后台传回的数据的响应方式,默认是application/***,要将其修改成text/html,这样返回的是字符串,到前台,如果需要可以将其转成所需格式

解决方案:

前台

提交前的校验

 1 var validateForm = function() { 2             var flag = true; 3             if (window.ActiveXObject) { 4                 IE下的处理……修改flag11             } else if (window.MessageEvent && !document.getBoxObjectFor) {12                非IE下的处理……修改flag21             }22             return flag;23         };

提交后的反应

1 var showResponse = function(data, status) {2             data =http://www.mamicode.com/ jQuery.parseJSON(data);3             响应后的处理……4             5         };
1 var options = {2             url : window.contextPath + "/********.action",3 //            dataType : "text",4             beforeSubmit : validateForm,5             success : showResponse,6             resetForm : true7         };8         $(‘#form的ID‘).ajaxSubmit(options);9     }

上边dataType注释掉

后台:

xml配置文件中

action做如下配置

1         <action name="*******" class="myClass"2             method="*******">3             <result name="success" type="json">4                 <param name="contentType">text/html</param>5                 <param name="ignoreHierarchy">false</param>6                 <param name="includeProperties">success,message</param>7             </result>8         </action>

上面第3行type是json,还要加上第4行contentType,值为text/html