什么是跨域請求,怎么解決?
跨域指的是從一個域名去請求另外一個域名的資源。即跨域名請求!跨域時,瀏覽器不能執行其他域名網站的腳本,是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。
解決跨域的辦法:
通過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 選項來添加代理配置,當前端沒有匹配到當前路由時就會被代理到服務器接口地址。
