JSONP
const jsonp = ({url, params, callbackName}) => {
const generateUrl = () => { // 拼接url
let dataStr = ``
for (let key in params) {
dataStr += `${key}=${params[key]}&`
}
dataStr += `callbackName=${callbackName}`
return `${url}?${dataStr}`
}
return new Promise((resolve, reject) => {
const scriptEle = document.createElement('script')
scriptEle.src = generateUrl()
document.body.appendChild(scriptEle)
window[callbackName] = data => { // 掛載到window
resolve(data)
document.body.removeChild(scriptEle) // 資料接收完畢,刪除script元素
}
})
}
相關文章
- JSONP 用法JSON
- 學習JSONPJSON
- JSONP 是什麼JSON
- jsonp promise 封裝JSONPromise封裝
- JSONP用法詳解JSON
- CORS/JSONP比較CORSJSON
- 原生ajax請求&JSONPJSON
- 說說CORS與jsonpCORSJSON
- ajax、axios、fetch、jsonp、corsiOSJSONCORS
- jsonp跨域封裝JSON跨域封裝
- JavaScript跨域呼叫、JSONPJavaScript跨域JSON
- JSONP 通用函式封裝JSON函式封裝
- 2020-3-1-jsonp原理JSON
- Python獲取jsonp資料PythonJSON
- JSONP挖掘與高階利用JSON
- jsonp跨域資源引起CORBJSON跨域ORB
- 利用JSONP進行水坑攻擊JSON
- JSONP 跨域原理及實現JSON跨域
- php 支援jsonp跨域請求PHPJSON跨域
- JavaScript中模擬實現jsonpJavaScriptJSON
- ajax與jsonp的區別及用法JSON
- 前端也需要了解的 JSONP 安全前端JSON
- Axios、axios攔截器、fetch-jsonp ——0807iOSJSON
- jquery 之 jsonp 與 laravel 實現跨域jQueryJSONLaravel跨域
- 50行不到實現Promise化的jsonpPromiseJSON
- 請說說json和jsonp的區別?JSON
- 從 Ajax 聊一聊 Jsonp 點選劫持JSON
- 為什麼jsonp不支援post的方法?JSON
- 簡單理解JSONP的定義及其實現JSON
- java後臺介面相容jsonp格式資料JavaJSON
- 【跨域】jsonp看完這篇文章就夠了跨域JSON
- 簡單的實現jsonp跨域請求JSON跨域
- 搞定所有的跨域請求問題: jsonp & CORS跨域JSONCORS
- spring-boot + jsonp 解決前端跨域問題SpringbootJSON前端跨域
- 關於跨域和JSONP的一些理解跨域JSON
- jsonp 的原理和採用 Promise API 的實現JSONPromiseAPI
- 深入跨域問題(3) – 利用 JSONP 解決跨域跨域JSON
- 一道面試題,手寫原生ajax和jsonp面試題JSON