本地項目開發,無法請求服務器數據
解決chrome對跨域請求禁止的約束:
--args --disable-web-security --user-data-dir
這一串參數關閉了chrome瀏覽器的同源策略,可以實現在該瀏覽器下的跨域請求數據。
在哪里設置這幾個參數呢?

最簡單的,右鍵chrome選擇屬性,在目標后面輸入參數(每個參數前面都有一個空格)。需要注意的是當前設置的圖標開啟的chrome在設置完重啟后才會有效。

會出現這樣的警告,說明禁止成功了。
或者可以通過命令行啟動chrome
open -a "Google Chrome" --args --disable-web-security --user-data-dir
都是一個道理。
分析
很多情況都會造成開發人員開發項目與服務器不在同一個環境的情況,這時本地的項目代碼請求不到服務器的數據,準確地說是請求到數據,但是并沒有走success的回調函數,而是在error里。
很明顯這是跨域了,由于http同源策略不允許跨域請求數據,正常情況下不能有這種情況的發生,但是真的有這種需求該怎么辦呢。
最經典的恐怕就是jsonp方法了,ajax以jsonp方式請求數據,服務端返回的數據帶一個callback函數,具體實現跨域請求的原理很巧妙,但是今天并不是講這種方法的。這種情況需要后端人員配合前端開發者實現,適用于公司項目與服務器由于種種原因分開的情況。但是今天要解決的是開發者自己要在公司外調試代碼的情況,臨時救急快速進入可開發狀態,上面的方法可以幫助前端開發人員通過chrome調試程序時臨時實現跨域請求數據。
浙公網安備 33010602011771號