IE8、9、10、11下 ajaxFileUpload 上传文件成功后,出现下载文件对话框
时间: 2024-09-03 15:47:08
来源:网络
作者:自由
分类:前端问题
简介:
最近做项目时在使用ajaxfileupload.js上传文件时(后台使用的spring boot),接收的是JSON格式的数据,但是奇怪的是在IE(ie8、ie9、ie10、ie11)中执行后却出现提示下载文件对话框(然而在其他浏览器中一切正常),下载这个文件后,里面的内容就是在后台控制器中返回的json数据。
一、问题描述
最近做项目时在使用ajaxfileupload.js上传文件时(后台使用的spring boot),接收的是JSON格式的数据,但是奇怪的是在IE(ie8、ie9、ie10、ie11)中执行后却出现提示下载文件对话框(然而在其他浏览器中一切正常),下载这个文件后,里面的内容就是在后台控制器中返回的json数据。
二、问题解决
1.修改后台控制器方法的路由映射:
@RequestMapping(value = "/inventory/upload",produces = "text/html; charset=utf-8")
2.同时将前台ajax响应数据类型设置为text,然后在回调函数中手动将其转换为JSON格式:
$.ajaxFileUpload({
url: '/v_factory/inventory/upload', //用于文件上传的服务器端请求地址
secureuri: true, //是否需要安全协议,一般设置为false
fileElementId: "fileInfo", //文件上传域的ID
data:{
"uid":uid,
"type":2,
token:getFToken()
},
dataType: 'text', //返回值类型 一般设置为json
success: function (data, status) { //服务器成功响应处理函数
data = $.parseJSON(data);
},
error: function (data, status, e) {//服务器响应失败处理函数
}
});
标签:
文章声明
版权声明:本文为作者原创,仅用于本站访客学习、研究和交流目的,未经授权禁止转载
了解
作者
一个90后草根站长!13年入行。一直潜心研究技术,一边工作一边积累经验,分享一些个人后端技术(java、python、c#、php等),以及前端相关等心得。
站长
推荐
友情
链接