原因:主要是后台传回的数据的响应方式,默认是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
ie下ajaxSubmit提交form中包含file时,提示下载(后台采用struts2)
时间: 2024-10-29 03:46:27