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 = 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 : true
7         };
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

posted @ 2014-08-14 15:40  活在当下O  阅读(436)  评论(0编辑  收藏  举报