解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据
2015-04-03 16:26
886 查看
在MVC 项目 中使用 AjaxFileUploader 这个插件时,在上传图片或文件时,在控制器中返回的是 json数据,可是在 ie,或 googleChrome 浏览器中却出现 返回的json数据下载的情况,针对 这个情况,以下是我自己解决的方法:
需要特别注意两个地方:
1. 在返回的 json 数据时,加上 "text/html" 这个参数
2. 在 AjaxFileUploader.js 中的 uploadHttpData: function (r, type)这个方法修改如下:
3. 在 前端调用的 ajaxFileUpload 方法时,在回调方法 success 时,要对 返回的 json 字符串进行转换成 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); } },
这样就可以了,上传图片时,如果上传成功就能正确的预览了
相关文章推荐
- FireFox中使用JQuery的ajaxfileupload插件返回JSON格式数据提示保存的解决方法。
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- 使用Ajax获取后台返回的Json数据后,页面处理
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
- ajax获取json数据使用jquery分页插件显示
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- [转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
- Struts+AJAX+JSON配合使用,获取与返回结果
- 解决:在使用JSONP跨域请求时.AJAX的dataFilter获取返回数据出现undifined
- IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取