ajax攜帶cookie


使用場景:跨域, 通過一個項目 ,給另外一個項目加上cookie信息

 

ajax 請求部分

                    $.ajax({
                        url:"別人的服務器地址",
                        type:"GET",
                        data: {},    //參數
                        xhrFields: {
                            withCredentials: true  //解決跨服務傳遞時不傳遞cookie的問題,允許攜帶證書
                        },
                        success: function(data) {
                            console.log(data)
                        },
                        error:function() {
                            console.log("程序異常")
                        }
                    });

 

java 程序部分,可以在控制層或者在攔截器上直接加上以下代碼

            response.setHeader("Access-Control-Allow-Origin","其他項目請求域名");  //一點要填寫具體的域名比如 http://127.0.0.1:8081
            response.setHeader("Access-Control-Allow-Credentials", "true");     //很重要,開啟cookie證書
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
            response.setHeader("Access-Control-Max-Age", "3600");
            response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

 

注意: 

  1. "Access-Control-Allow-Origin"  這時候寫 * 已不生效, 這個一定要寫具體來源網站的域名,比如:https://www.baidu.com,http://127.0.0.1:8821等
  2. 還要 "Access-Control-Allow-Credentials" 一定要設置開啟狀態
  3. ajax 部分一定要開啟  xhrFields:{withCredentials:true}


免責聲明!

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



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