此文章學(xué)習(xí)借鑒了一些其他前端同學(xué)的文章,自己做了個實踐總結(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標簽沒有跨域限制的特性,通過在src的url的參數(shù)上附加回調(diào)函數(shù)名字,然后服務(wù)器接收回調(diào)函數(shù)名字并返回一個包含數(shù)據(jù)的回調(diào)函數(shù)
- function doSomething(data) {
- // 對data處理
- }
- var script = document.createElement("script");
- script.src = "http://www.b.com/b.html?callback=doSomething";
- document.body.appendChild(script);
- // 1.生成一個script標簽,將其append在body上,向服務(wù)器發(fā)出請求
- // 2.服務(wù)器根據(jù) callback 這個參數(shù)生成一個包含數(shù)據(jù)的函數(shù) doSomething({"a", "1"})
- // 3.頁面事先已聲明doSomething函數(shù),此時執(zhí)行 doSomething(data) 這個函數(shù),獲得數(shù)據(jù)
新聞熱點
疑難解答
圖片精選