首页 新闻 会员 周边 捐助

aps.net MVC+Jquery ajaxForm/ajaxSubmit问题

1
悬赏园豆:80 [待解决问题]

今天遇到一个问题

aps.net MVC+Jquery+ajaxSubmit

在ie8兼容模式下面 出现 返回json直接在客户端弹出一个下载框,不执行请求成功的的拓展方式。

 

 var mainform = $("#form2");
            mainform.ajaxSubmit({
                dataType: 'script',
                success: importSuccess,
                beforeSubmit: function (formData, jqForm, options) {

                },
                beforeSend: function (a, b, c) {
                    LG.showLoading('正在上传...');

                },
                complete: function () {
                    LG.hideLoading();
                },
                error: function (result) {
                    LG.tip('发现系统错误 <BR>错误码:' + result.status);
                }
            });

 

 

控制器上传xls 返回指定格式的json

 [HttpPost]
        public JsonResult SMSTemplates() {
            HttpPostedFileBase file= Request.Files[0];
            String path =  Server.MapPath("/UploadExcel/");
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);
            String filePath = path + DateTime.Now.ToString("yyyyMMddhhmmss") +"_.xmls";
            file.SaveAs(filePath);
            DataSet data= TerpPOSLibrary.Comm.excel.ExeclTool.ExcelDataSource(filePath);
            DataTable table = null;
            if (data.Tables.Count > 0) {
                table=data.Tables[0];
            }
            var message="";
            var result = "0";
            List<Object> list = new List<object>();
            if (table != null) {
                if (table.Columns["手机号码"] == null || table.Columns["姓名"] == null)
                {
                    message = "导入的Excel格式有误,请下载模板查看格式";
                    result = "-1";
                }
                else
                {
                    foreach (DataRow row in table.Rows)
                    {
                        if (!String.IsNullOrEmpty(row["手机号码"].ToString()))
                        {
                            var sendModel = new { SendMobile = row["手机号码"], SendName = row["姓名"] };
                            list.Add(sendModel);
                        }
                    }
                }
            }
            FileInfo del_file = new FileInfo(filePath);
            del_file.Delete();
            var obj = new { result = result, message = message, list = list };
            return Json(obj);
        }

追风而逝的主页 追风而逝 | 初学一级 | 园豆:114
提问于:2012-05-22 12:04
< >
分享
所有回答(5)
0

可能是你的浏览器默认不处理Application/json输出。试下在注册表中注册Json MIME类型:

[HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=dword:00080000

以上保存在.reg格式的文件中,用regedit.exe执行。

牦牛 | 园豆:218 (菜鸟二级) | 2012-05-22 15:52

感谢您的热心,问题已经解决,十分简单

支持(0) 反对(0) 追风而逝 | 园豆:114 (初学一级) | 2012-05-22 15:53
0

楼主怎么解决的?求解!

一杯晨光 | 园豆:204 (菜鸟二级) | 2012-11-21 09:52
0

楼主是怎么解决的?我现在也遇到了这个问题,求解!!!

junzhou | 园豆:202 (菜鸟二级) | 2012-12-21 00:39
0

请教下楼主,怎么解决的!!

勇哥哥 | 园豆:206 (菜鸟二级) | 2015-08-03 16:15
0

我今天也碰到同样的问题,后面是这样解决的

1、前台ajaxSubmit方法中指定dataType: "json"

2、后台Json返回方法中指定contentType为"text/plain;charset=utf-8"

同乐 | 园豆:202 (菜鸟二级) | 2016-10-16 12:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册