跨域是指a頁(yè)面想獲取b頁(yè)面資源,如果a、b頁(yè)面的協(xié)議、域名、端口、子域名不同,或是a頁(yè)面為ip地址,b頁(yè)面為域名地址,所進(jìn)行的訪問(wèn)行動(dòng)都是跨域的,而瀏覽器為了安全問(wèn)題一般都限制了跨域訪問(wèn),也就是不允許跨域請(qǐng)求資源。
1.jsonp
原理是:動(dòng)態(tài)插入script標(biāo)簽,通過(guò)script標(biāo)簽引入一個(gè)js文件,這個(gè)js文件載入成功后會(huì)執(zhí)行我們?cè)趗rl參數(shù)中指定的函數(shù),并且會(huì)把我們需要的json數(shù)據(jù)作為參數(shù)傳入。
由于同源策略的限制,XmlHttpRequest只允許請(qǐng)求當(dāng)前源(域名、協(xié)議、端口)的資源,為了實(shí)現(xiàn)跨域請(qǐng)求,可以通過(guò)script標(biāo)簽實(shí)現(xiàn)跨域請(qǐng)求,然后在服務(wù)端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù),從而解決了跨域的數(shù)據(jù)請(qǐng)求。
優(yōu)點(diǎn)是兼容性好,簡(jiǎn)單易用,支持瀏覽器與服務(wù)器雙向通信。
缺點(diǎn)是只支持GET請(qǐng)求。
2.core
采用的是CORS(Cross-origin resource sharing)。后臺(tái)在響應(yīng)頭中添加Access-Control-Allow-Origin。這樣就可以跨域調(diào)后臺(tái)接口了。
3.vue開(kāi)發(fā)期間的api代理
當(dāng)將此樣板與現(xiàn)有后端集成時(shí),通常需要在使用dev服務(wù)器時(shí)訪問(wèn)后端API。為了實(shí)現(xiàn)這一點(diǎn),我們可以并行(或遠(yuǎn)程)運(yùn)行dev服務(wù)器和API后端,并讓dev服務(wù)器將所有API請(qǐng)求代理到實(shí)際的后端。
以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),如果大家有任何補(bǔ)充可以聯(lián)系創(chuàng)新互聯(lián)小編。