做前端的,用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