jsonp

image.png
**

  1. function jsonp ({url, params, cb}) {
  2. return new Promise((resolve, reject) => {
  3. let script = document.createElement('script');
  4. window[cb] = function(data) {
  5. resolve(data);
  6. document.body.removeChild(script)
  7. }
  8. params = {...params, cb};
  9. let arr = []; //wd=爱奇艺&cb=show
  10. for(var key in params){
  11. arr.push(`${key}=${params[key]}`);
  12. }
  13. if(url.indexOf('?') > -1){
  14. script.src = `${url}&${arr.join('&')}`;
  15. }else{
  16. script.src = `${url}?${arr.join('&')}`;
  17. }
  18. document.body.appendChild(script);
  19. })
  20. }
  21. // 只能发送get请求 不支持post put delect
  22. // xss攻击 不安全
  23. jsonp({
  24. url: 'https://www.baidu.com/sugrec?prod=pc&from=pc_web',
  25. params: {
  26. wd: '美妆'
  27. },
  28. cb: 'show'
  29. })