您的位置:首页 > Web前端 > JavaScript

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

2015-04-03 16:26 886 查看
在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);
}
},


这样就可以了,上传图片时,如果上传成功就能正确的预览了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐