当工作时间,因为需要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
存在一定安全问题,请谨慎使用。