no access-control-allow-origin
阿新 • • 發佈:2021-01-21
前端解決跨域問題
$.ajax( 'http://xx.xx.xx.xx:8090/xx/xx', { method:"POST", contentType:"application/x-www-form-urlencoded;charset=utf-8", dataType:"json", data:data, success:function(res){ ... } });
服務端解決跨域問題
//告訴瀏覽器允許所有的域訪問 //注意 * 不能滿足帶有cookie的訪問,Origin 必須是全匹配 //resp.addHeader("Access-Control-Allow-Origin", "*"); //解決辦法通過獲取Origin請求頭來動態設定 String origin = request.getHeader("Origin"); if (StringUtils.hasText(origin)) { resp.addHeader("Access-Control-Allow-Origin", origin); } //允許帶有cookie訪問 resp.addHeader("Access-Control-Allow-Credentials", "true"); //告訴瀏覽器允許跨域訪問的方法 resp.addHeader("Access-Control-Allow-Methods", "*"); //告訴瀏覽器允許帶有Content-Type,header1,header2頭的請求訪問 //resp.addHeader("Access-Control-Allow-Headers", "Content-Type,header1,header2"); //設定支援所有的自定義請求頭 String headers = request.getHeader("Access-Control-Request-Headers"); if (StringUtils.hasText(headers)){ resp.addHeader("Access-Control-Allow-Headers", headers); } //告訴瀏覽器快取OPTIONS預檢請求1小時,避免非簡單請求每次傳送預檢請求,提升效能 resp.addHeader("Access-Control-Max-Age", "3600");