spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING
2016-12-09 11:40
1001 查看
话不多说,直接上正文。
网络上搜索出的问题大多是页面、权限、或者其他不相关的问题导致的。浪费了很多时间、精力之后,发现自己找错了方向。
英文翻译:网络错误:不完整的分块编码。
技术翻译:网络传输错误,不完整的报文结构
step2.
单步调试:在HandlerInterceptorAdapter中的postHandle()方法中,有对modelAndView添加的model进行处理,此时的modelAndView为null!--bingo!
源代码:
简单的说,就是发送的是ajax异步请求,只是想获取一个json封装的数据,而在拦截器中却硬生生的加了个modelAndView,而且controller层返回的数据中也并没有实例modelAndView。这个modelAndView也不是ajax请求想要的返回数据。
异常信息:
Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING问题描述:
该异常是在页面发送ajax请求到服务器,中间使用了HandlerInterceptorAdapter对请求做了处理。ajax返回json格式的数据时发生的错误信息。网络上搜索出的问题大多是页面、权限、或者其他不相关的问题导致的。浪费了很多时间、精力之后,发现自己找错了方向。
解决思路:
step1.英文翻译:网络错误:不完整的分块编码。
技术翻译:网络传输错误,不完整的报文结构
step2.
单步调试:在HandlerInterceptorAdapter中的postHandle()方法中,有对modelAndView添加的model进行处理,此时的modelAndView为null!--bingo!
源代码:
@Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { HttpSession session = httpServletRequest.getSession(); String userName = session.getAttribute(Constants.SESSION_USER_NAME).toString(); modelAndView.addObject("username", userName); super.postHandle(httpServletRequest, httpServletResponse, o, modelAndView); }
简单的说,就是发送的是ajax异步请求,只是想获取一个json封装的数据,而在拦截器中却硬生生的加了个modelAndView,而且controller层返回的数据中也并没有实例modelAndView。这个modelAndView也不是ajax请求想要的返回数据。
解决方案:
对modelAndView为null做个判断:if (!modelAndView.isEmpty()) { modelAndView.addObject("username", userName); }
感想:
遇到比较难的问题,还是仔细阅读错误信息以及单步调试吧相关文章推荐
- spring拦截器,HandlerInterceptorAdapter配置后未生效
- Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
- 实现Spring拦截器拦截ajax请求并重定向
- ajax异步请求中使用window.open会被浏览器拦截解决方案
- wordpress错误ERR_INCOMPLETE_CHUNKED_ENCODING解决方法
- Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
- IIS & Chrome: failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
- Spring MVC_HandlerInterceptorAdapter的使用(不仅可实现Filter的所有功能,还可以更精确的控制拦截精度)
- java web应用浏览器访问异常ERR_INCOMPLETE_CHUNKED_ENCODING
- SpringMVC HandlerInterceptorAdapter登陆验证拦截器
- SpringMVC HandlerInterceptorAdapter
- 记一次Chrome 错误“net::ERR_INCOMPLETE_CHUNKED_ENCODING”的解决经历
- 错误ERR_INCOMPLETE_CHUNKED_ENCODING解决方法
- Spring MVC 中 HandlerInterceptorAdapter的使用[SpringMVC中请求拦截器的实现]
- [Chrome_Error] (failed) net::ERR_INCOMPLETE_CHUNKED_ENCODING 与 nginx 502 bad gateway
- Net::ERR_INCOMPLETE_CHUNKED_ENCODING问题跟踪,顺藤摸找出解决方法
- 记一次错误“net::ERR_INCOMPLETE_CHUNKED_ENCODING”
- Struts2 拦截器处理同步(普通Http)请求和异步(post,ajax)请求时拦截配置
- net::ERR_INCOMPLETE_CHUNKED_ENCODING
- NGINX_ERR_INCOMPLETE_CHUNKED_ENCODING