出於安全的原因,幾乎所有的主流瀏覽器都是不允許js或ajax跨域進行數據請求的。如果程序員非要那麼做的話,會得到以下的錯誤提示:
XMLHttpRequest cannot load ''. No 'Access-Control-Allow-Origin' header is present on the requested resource.
但是幾乎現在所有的web開發團隊或公司都會採用前後端分離的開發架構,這就導致了前端頁面不得不去跨域訪問服務器端,從而獲得所需的數據。
在前端層面,有很多的解決方案可以解決這一問題。但是在後端層面也有非常方便的方法。
我平時是使用Java進行web開發的,因此在服務器端的代碼中,只要加上這樣一句代碼就可以了:
/*
* 允許客戶端瀏覽器跨域訪問
*/
response.setHeader("Access-Control-Allow-Origin", "*");
注意該方法的第二個入參,這個入參在這裏使用的是“*”,表示任何一個客戶端都可以跨域訪問到服務器端。但是如果需要爲訪問安全做設想的話,那麼這個參數可以直接寫成某個域名或是ip地址,這樣就只有這個域名或ip地址能夠跨域訪問服務器了