當工作時間,因為需要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
存在一定安全問題,請謹慎使用。