js-jsonp封装

2019-08-22  本文已影响0人  AssertDo
            //script标记可以发送不同源请求
            function jsonp(url,params,callback){
                var funcName = "jsonp_" + Date.now() + Math.random().toString().substr(2,5);
                
                if(typeof params == "object"){
                    var tempArr = [];
                    for (var key in params) {
                        var value = params[key];
                        tempArr.push(key + "=" + value);
                    }
                    params = tempArr.join("&");
                }
                
                var script = document.createElement("script");
                script.src = url + "?" + params + "&callback=" + funcName;
                document.body.appendChild(script);
                window[funcName] = function(data){
                    callback(data);
                    delete window[funcName];
                    document.body.removeChild(script);
                }
            }

//服务器端加上下面这句,就可以实现不同源访问,就直接使用ajax访问即可
header('Access-Control-Allow-Origin: *');

上一篇 下一篇

猜你喜欢

热点阅读