axios没有实现jsonp这个功能,基于axios自己扩展一个

  //axios本版本不支持jsonp 自己拓展一个
    axios.jsonp = (url) => { // 引入axios.js ,将jsonp方法暴露给axios对象
        if (!url) {
            console.error('Axios.JSONP 至少需要一个url参数!')
            return;
        }
        return new Promise((resolve, reject) => {
            window.jsonCallBack = (result) => {
                resolve(result)
            }
            var JSONP = document.createElement("script");
            JSONP.type = "text/javascript";
            JSONP.src = `${url}&callback=jsonCallBack`;
            document.getElementsByTagName("head")[0].appendChild(JSONP);
            setTimeout(() => {
                document.getElementsByTagName("head")[0].removeChild(JSONP)
            }, 500)
        })
    }

注意: jsonp 只允许发送 get 请求!!!

 

posted @ 2021-07-05 13:13  一直在路上aiori  阅读(22)  评论(0编辑  收藏  举报