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

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回调函数

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值