美文网首页
【跨域】封装一个JSONP方法

【跨域】封装一个JSONP方法

作者: Adder | 来源:发表于2021-05-21 15:26 被阅读0次
/**
 *封装之后的jsonp
 * @param {请求资源地址} url
 */
function getJsonP(url) {
  return new Promise((resolve, reject)=> {
    const randomName = 'lucyJsonpFunctionName' + Math.random()
    window[randomName] = (data) => {
      resolve(data)
    }
    const script = document.createElement('script')
    // callback是前后端程序员默认使用的名称
    script.src = `${url}?callback=${randomName}`;
    script.onload = () => {
      //防止多个script标签,导致代码冗余
      script.remove()
    }
    script.onerror = () => {
      reject()
    }
    document.body.appendChild(script)
  });
}

getJsonP('http://qq.com:8888/friends.js').then((response) => {
  console.log(response)
})

相关文章

  • 跨域

    协议、域名、端口三者之间任意一个与当前页面url不同即为跨域常见跨域方法 利用jsonp跨域,jquery已经封装...

  • JavaScript - GET/POST及跨域方法

    xhr 原生方法请求 window fetch 方法 关于跨域 利用JSONP实现跨域调用 使用 CORS(跨域资...

  • 跨域

    本文介绍跨域的八种方法: JSONP只要说到跨域,就必须聊到 JSONP,JSONP全称为:JSON with P...

  • 跨域处理

    跨域 1、什么是跨域 2、跨域方法2.1 JSONP2.2 CORS2.3 window.postMessage2...

  • AJAX跨域解决方案

    跨域方法:1、跨子域iframe2、JSONP缺点:只支持get方法;后端代码要调整3、CORS本地如何模拟跨域修...

  • 【跨域】封装一个JSONP方法

  • 什么是跨域?跨域有几种实现形式:

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 跨域

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 对jsonp 的理解认识

    什么是跨域?为什么要跨域呢?听说jsonp能. 为什么jsonp能跨域呢?什么时候使用jsonp?怎么使用json...

  • 跨域

    关于跨域大概可以分为 iframe 的跨域和纯粹的跨全域请求。 3种跨全域方法: 1、JSONP 全称:JSON ...

网友评论

      本文标题:【跨域】封装一个JSONP方法

      本文链接:https://www.haomeiwen.com/subject/mnpwjltx.html