封裝乙個JSONP請求

2022-09-20 01:30:17 字數 808 閱讀 9729

首先,先介紹下jsonp的跨域原理:

1、 動態建立script標籤

2、 利用 script 的src屬性,會自動傳送請求

3、 只需要將要請求的位址設定為 script標籤的src屬性的值

4、 需要服務端的介面配合,必須返回 jsonp 格式的資料才行

注意:

1、 需要有個支援 jsonp 請求的介面位址

2、 我們指定**函式的名稱

3、 我們寫乙個 與**函式名稱 相同的函式

4、 通過這個函式的引數就可以獲取到伺服器返回的資料了!!!

5、 這個函式只能寫在全域性環境中!!

1

function

jsonp(url, params, callback) 78

//隨機生成乙個不重複的函式名

9var callbackname = 『ivy_'+ (new date - 0);

10 url += 'callback='+ callbackname;

11// 根據生成的函式名,讓這個函式稱為乙個全域性函式

12window[callbackname] = function( data ) ;

2021

// 動態建立script

22// 瀏覽器會自動傳送請求,請求介面

23 var script = document.createelement('script');

24script.src = url;

2526

27 }

網路請求之jsonp封裝

首先介紹下jsonp原理 瀏覽器因為同源策略的限制,在不同源的伺服器通過我們傳統axios是不能直接用來請求資料的 忽略 而src標籤則不受同源策略的影響,所以我們需要動態的建立帶有src的標籤讓其進行資料的請求,這就是jsonp的原理,在src的url位址末尾拼接上乙個 函式,用來接受伺服器傳回來...

封裝JSONP 函式,方便請求傳送

封裝jsonp的 和封裝ajax的 非常的相似!可以參照食用偶!點選我傳送請求!點選我傳送請求!點選我傳送請求!點選我傳送請求!點選我傳送請求!伺服器端 的優化 接收客戶端傳遞過來的函式名稱 const fnname req.query.callback 將函式名稱對應的函式呼叫 返回給客戶端!co...

Manager封裝乙個網路請求

意圖保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點 主要解決乙個全域性使用的類頻繁地建立與銷毀 何時使用當您想控制例項數目,節省系統資源的時候 優點在記憶體裡只有乙個例項,減少了記憶體的開銷,尤其是頻繁的建立和銷毀例項 static dbdmanager manager nil implem...