企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
```javascript // JSONP封装 let count = 1 export default function originPJSONP(option){ // 1.从传入的option中提取URL const url = option.url; // 2.在body中添加script标签 const body = document.getElementsByTagName('body')[0] const script = document.createElement('script'); // 3.内部产生一个不重复的callback const callback = 'jsonp' + count++ // 4.监听window上的jsonp的调用 return new Promise((resolve, reject) => { try { window[callback] = function (result) { body.removeChild(script); resolve(result) } const params = handleParam(option.data); script.src = url + '?callback=' + callback + params; body.appendChild(script) } catch (e) { body.removeChild(script) reject(e) } }) } function handleParam(data) { let url = ''; for (let key in data) { let value = data[key] !== undefined ? data[key] : ''; url += `&${key}=${encodeURLComponent(value)}` } return url } ```