都在說跨域,爲什麼postman能訪問接口,而瀏覽器就不行呢?這裏需要理解什麼是跨域,跨域是指的當前資源訪問其他資源時發起的http請求由於安全原因(由於同源策略,域名、協議。端口中只要有一個不同就不同源),瀏覽器限制了這些請求的正常訪問,特別需要注意的是這些發生在瀏覽器中。而通過postman等工具調用接口時,只是簡單的訪問一個資源,並不存在資源的相互訪問。
出於安全原因,瀏覽器禁止Ajax調用駐留在當前原點之外的資源。例如,當你在一個標籤中檢查你的銀行賬戶時,你可以在另一個選項卡上擁有EVILL網站。來自EVILL的腳本不能夠對你的銀行API做出Ajax請求(從你的帳戶中取出錢!)使用您的憑據。
跨源資源共享(CORS)是由大多數瀏覽器實現的W3C規範,允許您靈活地指定什麼樣的跨域請求被授權,而不是使用一些不太安全和不太強大的策略,如IFRAME或JSONP。
詳細解釋可以查看:爲什麼postman調接口不會出現跨域而瀏覽器會?