做前端的,用Ajax獲取數據,是常有的事情,同域下自然沒問題了,如果是不同域獲取數據,瀏覽器就有個
同源策略的限制。
如圖:
Origin * is not allowed by Access-Control-Allow-Origin
有人會說用JSONP了。如果后台的數據接口只是返回單純的json數據呢,而且也不能修改符合JSONP的方式的數據形式。 這個時候,我們該怎么辦呢? 如果你用的瀏覽器是Chrome的話,那么就有福音了。在打開Chrome的地址后邊加上 --args --disable-web-security
就可以屏蔽安全訪問了[ --args:此參數可有可無],然后就隨意的調用不同域下的數據了。
具體操作步驟如下:
一:windows系統(Win7)下的Chrome
1、關閉所有打開的Chrome。(重要)。否則,將沒有效果!
2、創建Chrome的快捷方式,修改快捷方式的目標為:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
如圖:
3、雙擊我們創建的Chrome快捷方式,打開Chrome,如圖出現“您使用的是不受支持的命令行標記:--disable-web-security。穩定性和安全性會有所下降”,表示你取消了跨域限制了,可以隨意跨域調用數據了。
如圖:
Mac os 下面用
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security
或者
open -a "Google Chrome" --args --disable-web-security
Ubuntu?Linux:
chromium-browser --disable-web-security
用命令行打開 Apple Safafi 方法是:(Mac OS 下)
open -a '/Applications/Safari.app' --args --disable-web-security