1.實(shí)現(xiàn)原理:
問(wèn)題描述:試想一下诈胜,你在網(wǎng)頁(yè)中使用img標(biāo)簽打開一個(gè)外部的圖片的鏈接,你肯定不會(huì)遇到任何問(wèn)題冯事,圖片如期的展現(xiàn)了(即使是一張不同域名的圖片鏈接)焦匈,然而,如果你使用ajax調(diào)取一個(gè)借口昵仅,你將會(huì)遇到所謂的跨域問(wèn)題缓熟,因?yàn)闉g覽器只允許XMLHttpRequest請(qǐng)求同源(域名、協(xié)議岩饼、端口)的資源荚虚。
解決方案:jsonp的解決原理,就是利用script標(biāo)簽的src屬性實(shí)現(xiàn)的(個(gè)人建議籍茧,這里您最好自己實(shí)踐一下)
2.實(shí)現(xiàn)流程
1.直接使用script標(biāo)簽(這樣無(wú)法拿到獲取到的值)
<script src="https://api.douban.com/v2/movie/in_theaters"></script>
2.通過(guò)JavaScript來(lái)動(dòng)態(tài)創(chuàng)建
const script=document.createElement('script');
script.src='https://api.douban.com/v2/movie/in_theaters';
document.body.appendChild(script);
3.如何將獲取到的數(shù)據(jù)傳回來(lái)了版述,當(dāng)然是使用回到函數(shù)
function callbackFun(serverdata){
????console.log(serverdata)
}
<script src="https://api.douban.com/v2/movie/in_theaters?callback=callbackFun"></script>
https://api.douban.com/v2/movie/in_theaters">
3.jsonp的劣勢(shì)
1.只支持get類型的方式
2.存在一定安全隱患
4.總結(jié)
由于個(gè)人也沒(méi)有自己手寫jsonp的經(jīng)驗(yàn),用的最多的是jquery的ajax的調(diào)取方式寞冯,關(guān)于jsonp的動(dòng)態(tài)加載方式的代碼渴析,以后繼續(xù)完善