Ajax本身是不支持跨域的,而我們在開發工作中,可能會遇到本地開發環境未配置相關代碼,需要到其他服務器上獲取數據的情況,尤其在用html5開發app的過程中,前后台完全分離,使用Ajax進行數據交互,這種情況非常常見。
我們可以通過對谷歌瀏覽器進行設置,利用命令行標記 –disable-web-security ,方便跨域調用數據做測試。
1.首先谷歌快捷方式上右擊,在下拉列表中選擇屬性。
2.打開屬性窗口,切換到快捷方式選項卡。
3.在目標路徑的后面添加【 –disable-web-security】,格式如下:C:\Users\as\AppData\Local\Google\Chrome\Application\chrome.exe –disable-web-security ,其中chrome.exe與–disable之間有一個空格。
4.點擊應用,然后點擊確定關閉窗口。
5.關閉瀏覽器重新通過桌面快捷方式的形式打開瀏覽器,瀏覽器提示”您使用的是不受支持的命令行標記: –disable-web-security。穩定性和安全性會有所下降”,說明設置成功。
如果是最新版的50版本的chrome,通過以上辦法可能無法實現跨域,需要把在目標路徑之后添加的內容替換成 【 –args -disable-web-security –user-data-dir=】
什么是跨域?
簡單的來說,出於安全方面的考慮,頁面中的JavaScript無法訪問其他服務器上的數據,即“同源策略”。而跨域就是通過某些手段來繞過同源策略限制,實現不同服務器之間通信的效果。
具體策略限制情況可看下表:
總體而言:只要協議、域名、端口有任何一個不同,都被當作是不同的域。