当工作时间,因为需要JS 进行AJAX请求,这时候存在跨域问题,当出现这种情况时,有多种方案解决比如使用JSONP,也有一种简单的方式,就是在过滤器里面增加返回请求允许跨域head配置。
代码如下:
- /***
- * 判断该请求是否是AJAX请求,当AJAX请求时,允许进行跨域访问,在表头增加跨域表头
- * @param response
- * @return
- */
- protected HttpServletResponse isAjaxSetHeader(HttpServletRequest request,HttpServletResponse response) {
- // 判断该请求是否是AJAX请求,
- String ajaxRequest = request.getHeader("X-Requested-With");
- if(StringUtils.isNotBlank(ajaxRequest)){
- response.setHeader("Access-Control-Allow-Origin","*");
- response.setHeader("Access-Control-Allow-Headers","X-Requested-With");
- response.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
- response.setHeader("X-Powered-By","3.2.1");
- response.setHeader("Content-Type","application/json;charset=utf-8");
- }
- return response;
- }
使用到的包有:org.apache.commons.lang3
存在一定安全问题,请谨慎使用。