美文网首页
使用axios发送jsonp请求

使用axios发送jsonp请求

作者: 南慕瑶 | 来源:发表于2020-06-09 10:35 被阅读0次

    【背景】

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

    【解决方法】

    自行封装一个 jsonp 调用方法:

        jsonp(url) {

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

                // 这里的 "jsonCallBack" ,和调用的 jsonp 的 url 中的 callback 值相对应(见粗体字)

                window.jsonCallBack =(result) => {

                    resolve(result)

                }

                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)

            })

        }

    调用示例:

    request.jsonp(

                'https://xx.map.yy.com/ss/location/v1/ip?callback=jsonCallBack&key=[KEY]&output=jsonp&_=[NUMBER]'

            )

    相关文章

      网友评论

          本文标题:使用axios发送jsonp请求

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