国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 原生js封裝jsonp函數(shù)

瀏覽:106日期:2023-02-14 15:18:15

問題描述

怎么才可以讓返回成功的函數(shù):success寫到它的參數(shù)內(nèi)部,

function success(data){ console.log(data);}jsonp({ url:’https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su’, type:’get’, data:{wd:’jsonp’ }, callback :’cb’, success:success});function jsonp(options){ var url = options.url; var data = options.data; format(data,options,function(str,callback){var oBody = document.getElementsByTagName(’body’)[0];var oScript = document.createElement(’script’);oScript.setAttribute(’src’,url+’?’+str + options.callback+’=’+callback);oBody.appendChild(oScript); }); return options.success;};function format(data,options,callback){ var callbackName = ’’; var str = ’’; for(var p in data){//格式化get提交的參數(shù)str += p+’=’+data[p]+’&’; } for(var p in options){if(options[p] == options.success){//取出要返回的函數(shù)名 callbackName = p; callback && callback(str,callbackName);} }}如果是這么寫success:function(data){conosle.log(data);}會(huì)報(bào)一個(gè)success is undefined錯(cuò)誤

問題解答

回答1:

https://jsfiddle.net/hsfzxjy/...

jsonp({ url: ’https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su’, type: ’get’, data:{wd: ’jsonp’ }, callback: ’cb’, success: function (data) { console.log(data) }});function jsonp (options) { let url = options.url let data = options.datalet oBody = document.getElementsByTagName(’body’)[0] let oScript = document.createElement(’script’)let callbackName = ’cb’ + (~~(Math.random()*0xffffff)).toString(16) window[callbackName] = function (result) {options.success(result) } data[options.callback] = callbackNameoScript.setAttribute(’src’, url + ’?’ + format(data)) oBody.append(oScript)}function format(data) { let str = ’’ for (var p in data) {str += encodeURIComponent(p) + ’=’ + encodeURIComponent(data[p]) + ’&’ } return str}

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 图们市| 西贡区| 新蔡县| 襄垣县| 岚皋县| 康马县| 铜山县| 汤阴县| 大悟县| 贵定县| 思茅市| 临朐县| 密云县| 都兰县| 连城县| 雷波县| 舒城县| 工布江达县| 湘西| 诸暨市| 海原县| 高台县| 浑源县| 寿宁县| 建德市| 五河县| 万年县| 东光县| 加查县| 邵东县| 梁山县| 鹤庆县| 长汀县| 白玉县| 民县| 车致| 吴川市| 凤山市| 开鲁县| 南雄市| 巧家县|