Spring配置跨域請求


本文主要是Spring+SpringMVC+MyBatis/MyBatis Plus框架環境,包括SpringBoot同樣適用。

1.編寫攔截器

package com.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class CORSInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 
                             Object handler) throws Exception {

        response.addHeader("Access-Control-Allow-Origin", "*");
        
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, 
                           Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, 
                                Object handler, Exception ex) throws Exception {

    }
}

 

2.在spring-mvc.xml文件配置攔截器

  <mvc:interceptors>
           <mvc:interceptor>
            <mvc:mapping path="/**"/>
                <bean class="com.interceptor.CORSInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

 

3.編寫html代碼測試

<html>

<head>
    <meta charset="utf-8">
<script src="jquery-1.8.0.min.js"></script>
<script>
function test(){
var str="test";
$.ajax({
        url:"http://192.168.1.125:8080/test-web/user/getCookie",
        type:"POST",
        data : {"str":str},
        dataType : 'json',
        success:function(data){
            
            alert(data.returnMsg);
            
        },error:function(XMLHttpRequest, textStatus, errorThrown){
             alert(XMLHttpRequest.status);
            alert(XMLHttpRequest.readyState);
            alert(textStatus);
        }
    });
}
</script>
</head>
<body onload="test()">
</body>

 

在沒有配置攔截器的情況下,會出現如下結果:

 

配置了攔截器則會正常返回對應的信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM