JSONP

2019-06-21  本文已影响0人  Ar_8be6

JSONP(只能发送get请求,不支持post、put、delete;不安全xss攻击)

JSONP

  jsonp的详细介绍在另一篇文章,这里就以百度的查询接口做简单展示:

<script>

// 封装简单的jsonp

function jsonp(url, params, cb) {

  return new Promise((resovle, reject) => {

    let script = document.creatElement('script');

    window[cb] = function(data) {

      resovle(data);

      document.body.removeChild(script);

    }

    params = {...params, cb}; //wd=b&cb=show

    let arrs = [];

    for(let key in params) {

      arrs.push(`${key}=${params[key]}`);

    }

    script.url =  `${url}?${arrs.join('&')}`;

    document.body.appendChild(script);

})

}

// jsonp调用方式

jsonp({

  url:'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',

  params:{wd: 'b'},

  cb: show

}).then(data=>{

  console.log(data)

})

</script>

上一篇 下一篇

猜你喜欢

热点阅读