`

ajaxfileupload在IE下返回值串时提示下载

 
阅读更多

最近做项目时,视图中用ajaxfileupload.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的json数据。

JS代码如下:

  	function importMember(dialogObj) {
	   // 提交 
	   $.ajaxFileUpload({
            url: '${basepath}/memberManage/importMember', 
            type: 'POST',
            secureuri: false, //一般设置为false
            fileElementId: 'importFile', // 上传文件的id、name属性名
            dataType: 'json', //返回值类型,一般设置为json/application/text
            success: function(data, status) {
            	            	if('true' == data.success){
                	// appoc.success("导入成功", handler, dialogObj);
                	appoc.success("导入成功", null, null);
		        } else {
	          		appoc.error("导入失败,请联系管理员");  
		        }
            },
            error: function(data, status, e) {
	          	appoc.error("导入失败,请联系管理员", null, null);
            }
        });
	}

 解决办法:

1. 在控制器中设置返回contentType为:text/html

protected void outObj2JsonString(HttpServletResponse response, Map<String, Object> obj) {
        //将实体对象转换为JSON Object转换
        String s = JSONObject.toJSONString(obj);
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = null;
        try {
            out = response.getWriter();
            out.append(s);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (out != null) {
                out.close();
            }
        }
    }

 

2. 同时将前台JS数据类型设置为text,将将其转换为JSON格式

function importMember(dialogObj) {
	   // 提交 
	   $.ajaxFileUpload({
            url: '${basepath}/memberManage/importMember', 
            type: 'POST',
            secureuri: false, //一般设置为false
            fileElementId: 'importFile', // 上传文件的id、name属性名
            dataType: 'text', //返回值类型,一般设置为json/application/text
            success: function(data, status) {
            	eval(data);
            	if('true' == data.success){
                	// appoc.success("导入成功", handler, dialogObj);
                	appoc.success("导入成功", null, null);
		        } else {
	          		appoc.error("导入失败,请联系管理员");  
		        }
            },
            error: function(data, status, e) {
	          	appoc.error("导入失败,请联系管理员", null, null);
            }
        });
	}

 

分享到:
评论

相关推荐

    解决ajaxfileupload中ie9、ie10兼容的问题

    这里解决了ajaxfileupload中ie9、ie10兼容的问题,下载下来直接可以使用

    ajaxfileupload 支持IE8

    修复ajaxfileupload 在IE下上传的bug 修复ajaxfileupload 在IE下上传的bug

    ajaxfileupload在ie9和ie10中的兼容

    ajaxfileupload在ie9和ie10中的兼容,最好在input的onchange方法中调用ajaxfileupload,input通过设置透明的方法来进行美化。如果用js调用input的click方法,会出现拒绝访问的错误。

    解决ajaxfileupload.js在IE9,firefox下文件超大无效

    本文将详细介绍如何解决在IE9和Firefox下使用`AjaxFileUpload.js`进行文件上传时遇到的大文件上传失效的问题。 #### 问题描述 当尝试通过`AjaxFileUpload.js`上传较大文件至服务器时,在IE9和Firefox浏览器中可能...

    解决ajaxfileupload.js在IE9无效

    用ajax的ajaxfileupload.js插件上传文件发现不支持IE9, 后来改了文件里的一些代码后可以了。 就拿出来共享。。。

    ajaxfileupload.js 兼容ie

    ajaxfileupload.js 兼容IE

    jQuery ajaxFileUpload.js 插件 ie9 下bug 修复

    这篇博客文章(尽管描述为空)很可能探讨了在IE9下使用`ajaxFileUpload.js`时遇到的问题以及如何解决这些问题。 在IE9中,由于浏览器对HTML5新特性的支持有限,文件API和Ajax交互可能会出现异常。例如,`FormData`...

    ajaxfileupload

    ajaxfileupload返回的json数据不带&lt;pre&gt;&lt;/pre&gt;标签 修改返回始终不走success方法BUG

    方便自己下载的ajaxfileupload.js备份

    这个插件允许用户在不刷新页面的情况下,通过Ajax技术上传图片。异步上传意味着用户可以选择文件后,后台可以开始上传过程,而用户可以继续在页面上进行其他操作,提高了交互性和效率。在实际应用中,ajaxfileupload...

    fileUpload(兼容IE的Ajax上传图片)

    在描述中提到的"ajaxfileupload.js"是一个流行的JavaScript库,用于处理Ajax文件上传,但可能在某些IE版本中存在兼容性问题。"fileUpload"这个解决方案就是为了解决这个问题,使得用户能够在IE8这样的老版本浏览器中...

    AjaxFileUpload.js

    在本文中,我们将深入探讨AjaxFileUpload.js的工作原理、使用方法以及相关的前端文件上传技术。 一、AjaxFileUpload.js概述 AjaxFileUpload.js是基于Ajax技术的,其主要目的是解决传统HTML表单提交文件时页面必须...

    AjaxFileUpload

    这个技术在现代Web应用中非常常见,因为它提供了更好的用户体验,用户可以在不离开当前页面的情况下上传文件,大大提升了交互性和效率。 核心知识点: 1. **Ajax(异步JavaScript和XML)**:Ajax是Web开发的一种...

    ajaxfileupload.js文件下载

    此为前端进行文件上传,使用Ajax方式提交的js插件,使用方便简洁,开发很高效。

    ajaxfileupload.js用于文件上传

    ajaxfileupload.js用于文件上传

    文件上传 ajaxfileupload.zip

    AjaxFileUpload是一个基于AJAX技术的JavaScript组件,它允许用户在不刷新页面的情况下完成文件上传,提供了更好的用户体验。 这篇博客(博文链接:https://sshitaime.iteye.com/blog/2155749)可能详细解释了如何...

    ajaxFileUpload

    在现代Web应用中,文件上传是一项常见的...通过以上知识点,我们可以实现一个基本的`ajaxFileUpload`功能,使用户在不刷新页面的情况下完成文件上传操作。在实际开发中,还可能需要根据具体需求进行更多定制和优化。

    支持IE10的 ajaxFileUpload.js

    注意:后台服务 要以 text/html形式返回,否则在ie下会提示下载 返回的 异步 相应数据, 例如:java 使用 spring mvc 则需 @RequestMapping(value = "/xx/xx/upload.do",produces="text/html") 此文件中 判断 IE ...

    ajaxfileupload.js(兼容IE浏览器)

    优化过的ajaxfileupload.js文件 兼容IE,但是用的时候需要引用jquery1.8左右 不能用1.9以上版本

    AjaxFileUpload 文件下载

    在IT行业中,前端开发经常需要处理用户上传和下载文件的需求。`AjaxFileUpload`是一个基于jQuery的插件,专门用于实现异步文件上传功能,它极大地优化了用户体验,避免了传统表单提交带来的页面刷新问题。这篇内容将...

Global site tag (gtag.js) - Google Analytics