Java後臺解決跨域問題

首先說一下什麼是跨域?php

JavaScript出於安全方面的考慮,不容許跨域調用其餘頁面的對象。那什麼是跨域呢,簡單地理解就是由於JavaScript同源策略的限制,a.com域名下的js沒法操做b.com或是c.a.com域名下的對象。html

當協議、子域名、主域名、端口號中任意一個不相同時,都算做不一樣域。不一樣域之間相互請求資源,就算做「跨域」。前端

例如:http://www.abc.com/index.html 請求 http://www.efg.com/service.php。vue

 

有一點必需要注意:跨域並非請求發不出去,請求能發出去,服務端能收到請求並正常返回結果,只是結果被瀏覽器攔截了。之因此會跨域,是由於受到了同源策略的限制,同源策略要求源相同才能正常進行通訊,即協議、域名、端口號都徹底一致。java

 

在這以前小冷本身寫了個簡單的前端頁面(注意此頁面使用vue),這裏涉及的是先後端分離的操做,小冷使用vue中的ajax直接請求的後臺的服務器,固然後臺能夠用任何語言實現數據傳輸(可以使用java,python,node,php,c++,c#等),小冷使用的是java語言編寫的後臺的代碼,此時就涉及到了跨域。node

  1. 首先是前臺數據能夠傳到python

  2. 然然後臺卻沒法相應回前臺頁面(這裏頁面會拋一個異常,說太安全,沒法獲取請求後響應的數據--暫時就這樣理解吧嘻嘻)c++

  3. 請求代碼
  4. java解決方法:ajax

    此處java使用的springboot框架,解決中使用的一個註解spring

    @CrossOrigin(origins = "*", maxAge = 3600) //* 能夠改爲ip地址

    加如此註解後

  5. 獲取到響應的數據,此處註解能夠配置全局,亦能夠配置方法局部小冷配置爲全局

     

    此處基本跨域問題基本解決!

     

    前端vue跨域的解決方法:

  6. 你們能夠關注個人微信公衆號」秦川以北「,裏面還有好多實用的技術分享!

相關文章
相關標籤/搜索