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

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

时间: 2024-10-29 03:46:27

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

ajax(ajaxSubmit)提交form表单

ajaxSubmit提交form表单 依赖脚本: 1 <script src="<%=request.getContextPath()%>/huangdao/jquery/jquery-form.js" type="text/javascript"></script> HTML 1 <form id="saveForm" name="form01" class="demofo

解决在IE中返回JSON格式的数据时提示下载的问题

如题,以ASP.NET MVC为例,解决办法如下: 控制器中: public JsonResult Test() { return Json(json, "text/html"); } 视图中: $.post("/controller/action/", function (data) { data = JSON.parse(data); }); 解决在IE中返回JSON格式的数据时提示下载的问题

LoadRunner中运行场景时提示&quot;You do not have a license for this Vuser type.&quot;

LoadRunner中运行场景时提示"You do not have a license for this Vuser type." 2012-06-15 17:09:07|  分类: Software Testing |举报 |字号 订阅 问题: 使用Java Vuser协议调用Java应用程序,脚本执行通过后,在Controller中运行场景时,均为Errors不通过,报错如下: 解决: 百度"You do not have a license for this Vuse

修正EasyUI的BUG——Form中存在FileBox时的数据加载错误

使用EasyUI加载服务端返回的数据时常用 $('#fm').form('load', row); 实现,既方便又简洁,但是,当Form中包含有FileBox时,代码就会报错,经过跟踪发现,因为EasyUI试图向隐藏的文件标签<input type="file">赋值,导致了错误.其源代码如下: initValue: function(jq, _4d9) { return jq.each(function() { var _4da = $.data(this, "

在IE中MVC控制器中返回JSON格式的数据时提示下载

最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#formDoUpload").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",  

asp.net MVC控制器中返回JSON格式的数据时提示下载

Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#form").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",                    datatype: &

Linux下通过rm -f删除大量文件时提示&quot;-bash: /bin/rm: Argument list too long&quot;的解决方法

Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long" 如图: 通过ls /var/spool/postfix/maildrop/*|wc -l 发现文件数达到21万多,见附件: 原因:rm -f的参数过多 解决方法:可使用awk一次删除一个的方式进行删除,但必须先进入该目录下,操作方法如下:1.先进入该目录下:cd /var/spool/postfi

一个Form中2个按钮,PHP后台如何判断提交的是哪一个按钮

方法一: <div class="container theme-showcase" role="main"> <form class="form-horizontal" method="post" action="<?php echo base_url("manage/audit/user"); ?>" > <div class="f

Python列表中包含中文时输出十六进制转中文的小方法

现象:列表中的中文打印出来后显示为十六进制 >>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhzhgo'] >>> 首先需要明确,这不是乱码,这是 unicode 字符串在内存中的形式,python 在命令行界面输出的数据,如果不是ASCII码,则会以十六进制形式输出. 如何使打印出来的结果显示为中文呢?解决办法如下: #-*-coding:utf-8-*- lt=["大神