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

java+jquery form实现异步上传文件,并且成功返回

2014-07-24 10:26 495 查看
java+jquery.form.js实现异步上传文件,并且成功返回!

主要思路:

1、利用<form ...><input type='file" ....> 提交表单实现上传

2、要实现异步提交表单,就要使用到jquery.form.js 使用ajaxSubmit方法,用success回调提示上传结果

遇到问题和解决方法:

1、java后台上传完文件之后设置返回json:response.setContentType("text/json; charset=UTF-8");

这样IE浏览器就弹出下载提示框,执行不到success回调函数,

因为struts中对json的理解是 application/json ,而ajaxSubmit是提交的表单(虽然只需要对表单中的file处理),

对应的action对表单数据处理之后通过struts.xml的重定向,<result name="success" type="json">导致了提示“下载json”

2、将response.setContentType("text/json; charset=UTF-8");改为response.setContentType("text/html; charset=UTF-8");

这样改了之后,浏览器不再弹出下载提示框,但是ajax收不到任何回调信息,查看报文反馈会发现,ajax返回error,错误类型为parsererror,

意思是后台返回的数据类型和ajax请求设置的返回类型不一致,出现转换错误

于是将ajax返回类型修改为dataType:"html",这样修改之后就能成功收到success回调函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: