首页 > 代码库 > 记ie8 挂起问题
记ie8 挂起问题
问题现象是这样的:我的后台servlet程序发生异常时,我想捕获异常返回给用户友好的信息,在ie8下通过F12调试“网络”-“捕获”发现请求的状态是“挂起”,然后浏览器就挂了。
后台代码:
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) { log.error(e.getMessage(), e.getCause()); PrintWriter writer; try { writer = response.getWriter(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String errorText = ""; // some code ... writer.println("{\"success\":\"N\",\"msg\":\"" + errorText + "\"}"); writer.flush(); } catch (IOException e1) { log.error("连接出错,无法写响应: " + e1.getMessage(), e1.getCause()); }
前台代码:
// 上传ajax提交 $(‘#form_upload‘).ajaxSubmit({ url: url, type: ‘post‘, //dataType: ‘json‘, dataType: ‘text‘, async: false, success: function(dataText) { //some code... }, error: function(XMLHttpRequest, textStatus, errorThrown) { }, complete: function(xhr) { } });
这个功能是导入excle文件的,在ie10、火狐下没问题,但是ie8 9都不行,开始我以为是js库的问题,把jquery、jquery form的版本都换了,问题没解决。又怀疑是ie8下iframe的问题,鼓捣半天还是不对。最后通过ie的F12发现,响应有内容,没有头,原来是服务器没有写响应头,导致ie8无限挂起进入永恒。。。
解决:servlet代码加上下面三句即可了
response.setStatus(200); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8");
本文出自 “一些” 博客,请务必保留此出处http://2924037.blog.51cto.com/2914037/1531472
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。