spring+springmvc+mybatis項目出現ajax 跨域問題

spring+springmvc+mybatis項目在前後端聯調時出現以下報錯

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin’

說明出現了跨域問題。

可以有以下解決方法。

1.在controller類上加註解

@CrossOrigin(origins = "*", maxAge = 3600)

注:CrossOrigin是spring的註解

2.可以在web.xml添加過濾器


紅框標註的class文件根據自己開發的實際位置填寫。

類文件如下:

@Component

public class CORSFilteUtil extends OncePerRequestFilter{

@Override

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)

throws ServletException, IOException {

// TODO Auto-generated method stub

response.setHeader("Access-Control-Allow-Credentials", "true");

response.addHeader("Access-Control-Allow-Origin",  request.getHeader("Origin"));

        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");

        response.addHeader("Access-Control-Allow-Headers", "Content-Type");

        response.addHeader("Access-Control-Max-Age", "1800");//30 min

        filterChain.doFilter(request, response);

}


}

跨域問題可以解決了。




發佈了33 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章