背景

axios 本身不支持 jsonp 这种 dataType(不同于 ajax

解决方法

自行封装一个 jsonp 调用方法

function jsonp (url) {
  return new Promise((resolve, reject) => {
    // 这里的 "jsonCallBack" ,和调用jsonpurl 中的 callback相对window.jsonCallBack =(res) => {
      resolve(res)
    }
    const JSONP = document.createElement('script');
    JSONP.type = 'text/javascript';
    JSONP.src = url;
    document.getElementsByTagName('head')[0].appendChild(JSONP);
    setTimeout(() => {
        document.getElementsByTagName('head')[0].removeChild(JSONP)
    },500)
  })
}

调用示例

let res = await jsonp(`https://apis.map.qq.com/ws/geocoder/v1/?location=${evt.latLng.lat},${evt.latLng.lng}&get_poi=1&callback=jsonCallBack&output=jsonp`)
console.log(res)

原文地址:https://blog.csdn.net/MICHAEL_PRINCE/article/details/128953642

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_18321.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注