什么是同源策略
? ?同源策略是同域名,同協(xié)議,同端口。 同源策略是瀏覽器為了安全訪問(wèn)網(wǎng)頁(yè)內(nèi)容而出現(xiàn)的一種措施。
什么是非同源策略
? ?非同源策略就是當(dāng)使用ajax請(qǐng)求時(shí)協(xié)議、域名、端口號(hào)中有一項(xiàng)不相同時(shí)出現(xiàn)的情況。
非同源策略產(chǎn)生什么問(wèn)題?
? ? 非同源策略會(huì)產(chǎn)生跨域請(qǐng)求。
如何解決跨域?
? ? 前端可以使用jsonp解決,也可以借助nodejs作為代理請(qǐng)求。
jsonp什么原理
? ? jsonp就是借助了script標(biāo)簽的src屬性可以跨源獲取腳本來(lái)實(shí)現(xiàn)跨域請(qǐng)求。
### 如何獲取jsonp返回值? ? ? ?
? ? 獲取數(shù)據(jù)需要前端與后端協(xié)商好回調(diào)函數(shù),后端把數(shù)據(jù)放在回調(diào)函數(shù)中,前端預(yù)先聲明好回調(diào)函數(shù),當(dāng)數(shù)據(jù)返回時(shí)前端的函數(shù)自動(dòng)執(zhí)行就可以獲取數(shù)據(jù)了,如果后端不支持回調(diào)函數(shù),則前端一般需要在window對(duì)象上查看找數(shù)據(jù)。
?jsonp的優(yōu)缺點(diǎn)?
? ? ?jsonp的優(yōu)點(diǎn)是兼容性好,幾乎所有支持js的瀏覽器都可以使用,缺點(diǎn)是只能get方式請(qǐng)求,而且容易被注入攻擊。
除了jsonp還有那些跨域手段?
? ? 除了jsonp外還可以使用nodejs、nginx,webpack、vueCli來(lái)代理請(qǐng)求接口? ??