上传-jQuery ajax form提交在IE8下不执行回调函数

问题描述

jQuery ajax form提交在IE8下不执行回调函数
// 上传文件function myUploadExcel(obj) {var options = {        url : ""${ctx}/ins/pro/upLoadTempFile.do?filename=""+obj.value        dataType : ""text""        beforeSubmit : function(formDatajqFormoptions){            var filename = obj.value;            if(filename == null || filename == '') {                $.messager.alert('提示信息''请选择要上传的文件''warning');                MaskUtil.unmask();                return false;            }            var ext = filename.substr(filename.lastIndexOf(""."")).toLowerCase();            if (obj.id=='excelFile') {                if(ext != '.xls' && ext != '.xlsx') {                    $.messager.alert('提示信息''文件类型必须是excel''warning');                    obj.outerHTML=obj.outerHTML;                    MaskUtil.unmask();                    return false;                }            }else if (obj.id=='cadFile') {            }else if (obj.id=='pdfFile') {                if(ext != '.pdf') {                    $.messager.alert('提示信息''文件类型必须是pdf''warning');                    obj.outerHTML=obj.outerHTML;                    MaskUtil.unmask();                    return false;                }            }else if (obj.id=='textFile') {            }            return true;        }        success : function(tempPath) {            var realName=tempPath.substring(tempPath.indexOf(""_"")+1tempPath.length);            if (obj.id=='excelFile'){                //返回了excel地址发一次请求获得方案信息刷新可刷新数据                handleSchemeExcel(tempPath);                $('#excelsrc').val(tempPath);                $('#excelFile').hide();                $('#excelFileSrc').html(realName).show();            }        }    };    if (obj.id=='excelFile'){        $(""#excelForm"").ajaxSubmit(options);    }else if(obj.id=='cadFile'){        //CAD文件地址放到上面form里面        $(""#cadForm"").ajaxSubmit(options);    }else if(obj.id=='pdfFile'){        //PDF文件地址放到上面form里面        $(""#pdfForm"").ajaxSubmit(options);    }else if(obj.id=='textFile'){        //text文件地址放到上面form里面        $(""#textForm"").ajaxSubmit(options);    }}文件能上传到指定的路径下,浏览器下方也提示成功,但是不执行回调函数,SUCCESS和error都不执行。但是在IE9,FFChorme都没有问题,求指导!

解决方案

用fiddler看下,post请求发出了没有?

解决方案二:

IE8浏览器如果在控制器中不标识返回值的类型,会无法呈现数据,在spring的注解上进行标识后前台页面的ajax才能获取返回值

解决方案三:
你没配置error回调吧。。。ie安装个httpwatch插件看看请求最后返回了什么内容。

时间: 2025-01-30 18:28:32

上传-jQuery ajax form提交在IE8下不执行回调函数的相关文章

有关文件上传 非ajax提交 得到后台数据问题_javascript技巧

下文给大家介绍文件上传非ajax提交得到后台数据的操作方法,具体详情如下所示: <form name="configForm" id="configForm" method="post" action="" > .......... </form> 根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美. 但是如果需要上传文件, <tr> <td class=&qu

new-net2.0 为何在IIS7.0下显示上传不成功 但在IIS6.0下正常

问题描述 net2.0 为何在IIS7.0下显示上传不成功 但在IIS6.0下正常 protected void upload_Click(object sender, EventArgs e) { string text = this.Session["port"].ToString(); string path = "~/Room_JS/" + text + "/tp/gb/"; bool flag = false; string str =

ajax请求返回的数据看不到回调函数没有执行也没报错

  ajax请求返回的数据看不到回调函数没有执行,哪里都没有报错,有类似情况的朋友可以参考下本文 项目用的是ssh,使用jquery的$.post访问struts2的Action,哪里都没有报错,可就是没有结果. 现在$.post要返回保存着权限的集合Collection ,权限类Privilege和用户类User相互关联,也就是Privilege里使用set集合保存着拥有这个权限的用户Set,用户User里也使用set集合保存着用户有的权限Set .数据都到action里了,但是回调函数没有执

mvc使用 ajax能获取后台返回的Json数据,但却不执行回调函数怎么回事?

问题描述 MVC后台Controller代码:publicJsonResultGetPersonInfo(){varperson=new{Name="张三",Age="20",Sex="男"};returnJson(person,JsonRequestBehavior.AllowGet);}前台视图文件代码:<ulid="movieList"></ul><scripttype="text

jquery ajax post提交数据乱码_jquery

在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件chrome和ie都没有指定,所以出现乱码问题.解决方法: 复制代码 代码如下: $.ajaxSetup({  contentType: "application/x-www-form-urlencoded; charset=utf

jQuery ajax serialize() 提交表单数据

jQuery ajax中数据以键值对(Key/Value)的形式发送到服务器,使用ajax提交表单数据时可以使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2-)后提交.serialize() 方法使用标准的 URL-encoded 编码表示文本字符串.下面是使用serialize()序列化表单的实例: jQuery ajax原型:  代码如下 复制代码 $.ajax({    type: "POST",

dojo上传文件-dojo.form.uploader上传文件,后台要怎么获得文件流

问题描述 dojo.form.uploader上传文件,后台要怎么获得文件流 如题,后台要怎么获得文件流.普通的form表单提交只要中加个name ,后端代码只要写个和name相同的File类型参数接收就好了.但是dojo的获取不到.我不会dojo,js也不怎么写.知道的求告知,感激不尽

利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)

在很多企业级应用中,我们都没法直接通过开发语言sdk包封装的http工具来模拟http复合表单(multipart/form-data),特别是在跨语言跨平台的编程过程中,其实实现方案并不复杂,只要你了解了http协议中复合表单的报文结构就很简单了:         httpheader         ------时间戳------         表单参数1        ------时间戳------        表单参数2       ------时间戳------       文件1

Jquery ajax异步提交

Ajax原生方法: <script type="text/javascript">     function delStudent(studentid){               $.ajax({             url:"/project/studentRpc/"+studentid+"/deleteStudentById.json",             type:"get",