天天看點

JS之AJAX-JSONP

jsonp是json with padding(填充式json或參數式json)的簡寫,常用于伺服器與用戶端跨域通信,由于其良好的相容性,在web服務中非常流行

jsonp的基本思想是向網頁中動态的添加一個​<code>​&lt;script&gt;​</code>​元素,并設定script元素的src屬性為接口位址,利用script元素天生的跨域功能實作跨域請求。當通過script元素調用資料時,響應内容必須用javascript函數名包裹起來,這個函數名是可以自定義的,它取決于src位址的callback參數值(callback參數名也是可以自定義的,但通常預設設定為callback)

jsonp由回調函數和資料兩部分組成。回調函數就是響應資料時應該在頁面中調用的函數,回調函數的名稱是在請求中指定的,而資料就是傳入回調函數中的json資料

三句話解釋jsonp:

前端動态建立帶有callback函數的script

後端傳回callback函數包裹的資料

前端調用這個函數拿到資料