此文章學(xué)習(xí)借鑒了一些其他前端同學(xué)的文章,自己做了個(gè)實(shí)踐總結(jié)
以下的例子包含的文件均為為 http://www.a.com/a.html 、http://www.a.com/c.html 與 http://www.b.com/b.html,要做的都是從a.html獲取b.html里的數(shù)據(jù)
1.JSONP
jsonp是利用script標(biāo)簽沒(méi)有跨域限制的特性,通過(guò)在src的url的參數(shù)上附加回調(diào)函數(shù)名字,然后服務(wù)器接收回調(diào)函數(shù)名字并返回一個(gè)包含數(shù)據(jù)的回調(diào)函數(shù)
- function doSomething(data) {
- // 對(duì)data處理
- }
- var script = document.createElement("script");
- script.src = "http://www.b.com/b.html?callback=doSomething";
- document.body.appendChild(script);
- // 1.生成一個(gè)script標(biāo)簽,將其append在body上,向服務(wù)器發(fā)出請(qǐng)求
- // 2.服務(wù)器根據(jù) callback 這個(gè)參數(shù)生成一個(gè)包含數(shù)據(jù)的函數(shù) doSomething({"a", "1"})
- // 3.頁(yè)面事先已聲明doSomething函數(shù),此時(shí)執(zhí)行 doSomething(data) 這個(gè)函數(shù),獲得數(shù)據(jù)
新聞熱點(diǎn)
疑難解答
圖片精選