什麼是跨域請求,怎麼解決?
阿新 • • 發佈:2022-03-28
什麼是跨域請求,怎麼解決?
跨域指的是從一個域名去請求另外一個域名的資源。即跨域名請求!跨域時,瀏覽器不能執行其他域名網站的指令碼,是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。
解決跨域的辦法:
通過jsonp跨域
document.domain + iframe跨域
location.hash + iframe
window.name + iframe跨域
postMessage跨域
跨域資源共享(CORS)
nginx代理跨域
nodejs中介軟體代理跨域
WebSocket協議跨域
Vue解決跨越:
(1)在Vue中最推薦的是CORS,全稱為 Cross Origin Resource Sharing(跨域資源共享)。
這種方案對於前端來說沒有什麼工作量,和平時發請求寫法上沒有任何區別,工作量基本都在後端這裡,使用CORS前端不需要配置proxytable。
每一次請求,瀏覽器必須先以 OPTIONS 請求方式傳送一個預請求,從而獲知伺服器端對跨源請求所支援 HTTP 方法。在確認伺服器允許該跨源請求的情況下,以實際的 HTTP 請求方法傳送那個真正的請求。
(2)vue cli30修改配置資訊需要新建vue.config.js檔案,在module.exports方法的devServer物件中proxy 選項來新增代理配置,當前端沒有匹配到當前路由時就會被代理到伺服器介面地址。