码迷,mamicode.com
首页 > Web开发 > 详细

解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据

时间:2015-04-03 17:14:18      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

在MVC  项目 中使用 AjaxFileUploader 这个插件时,在上传图片或文件时,在控制器中返回的是 json数据,可是在 ie,或 googleChrome 浏览器中却出现 返回的json数据下载的情况,针对 这个情况,以下是我自己解决的方法:

需要特别注意两个地方:

1. 在返回的 json 数据时,加上 "text/html" 这个参数

 return Json(new
                {
                    success = true,
                    originalName = OriginFileName,
                    original = guid,
                    min = min,
                    max = max
                },"text/html");

2. 在 AjaxFileUploader.js 中的  uploadHttpData: function (r, type)这个方法修改如下:

            //data = eval("data = " + data);

            /*++++++++++++++  以下是修改的代码  ++++++++++++++++++++++++++*/

            var datastr = r.responseText;
            var newdatastr = datastr.replace("<pre>", "").replace("</pre>", "");
            data = newdatastr;

            /*+++++++++++++++  以下是修改的代码 ++++++++++++++++++++++++++*/

 3. 在 前端调用的 ajaxFileUpload 方法时,在回调方法 success 时,要对 返回的 json 字符串进行转换成 json 对象:

 success: function (da) {
            //alert("success");
            //alert(da);
            var aaa = JSON.parse(da);
            //alert(aaa.success);
            //alert(aaa.max);
            //alert(!aaa.success);

             if (!aaa.success) {
                 alert(aaa.error);
             } else {
                 //alert("aaa");
                 $(‘#imgshow‘).show();
                 $(‘#imgshow‘).append("<img src=‘" + aaa.max + "‘ width=‘100‘ height=‘60‘ />");
                 $("#" + modelimgid).val(aaa.max);
             }
        },

 这样就可以了,上传图片时,如果上传成功就能正确的预览了

 

解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据

标签:

原文地址:http://www.cnblogs.com/wisdo/p/4390391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!