美文网首页
JS:Jsonp跨域请求数据

JS:Jsonp跨域请求数据

作者: 觉上云来 | 来源:发表于2019-07-25 16:43 被阅读0次

Jsonp:


var JsonpUtil = {

toQueryurl:function(o) {

var arr = [];

        for (var i in o) {

arr.push(encodeURIComponent(i)+'=' +encodeURIComponent(o[i]))

}

return arr.join('&')

}

};

var jsonpDate =function jsonp(params) {

var callbackName='json_'+ ~~(Math.random()*100); // 随机生成回调函数名称

    params.data.callback = callbackName;//注意

    var script = document.createElement('script');

    var flag = params.url.indexOf('?')>-1?'&':'?';

    var queryUrl = params.url + flag + JsonpUtil.toQueryurl(params.data);

    var head = document.getElementsByTagName('head')[0];

    head.appendChild(script);

    script.src = queryUrl;

    //回调函数要接口返回后执行

    window[callbackName] =function(json) {

window[callbackName] =null;

        clearTimeout(script.timer);

        head.removeChild(script);

        params.success && params.success(json)

};

    //超时处理

    if (params.timer) {

script.timer =setTimeout(function(){

window[callbackName] =null;

            head.removeChild(script);

            params&¶ms.error({

message:'网络超时'

            })

},params.timer)

}

};

Object.prototype.$Jsonp =jsonpDate;

/*以上代码复制到自己JS文件中即可,ps("注意定义名称相同")*/

/*以下为调用实例*/

var  obj =new Object();

obj.$Jsonp({

url:'https://douban.uieee.com//v2/movie/top250',

    data:{

page:1

    },

    success:function (res) {

console.log(res);

    },

    error:function () {

console.log(error)

}

})

相关文章

  • 跨域

    跨域的几种方法 通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以...

  • 前端开发之路--常见的跨域问题解决方案二

    原生JS实现JSONP JSONP解决方法。就是利用script标签的src属性去加载数据。每当需要跨域请求数据的...

  • Ajax下

    一、cors跨域请求 二、jsonp百度搜索的例子 jsonp.html jsonp.js

  • 完成vue项目过程中的一些要点

    1、html适配移动端 2、vue实现双向绑定 跨域请求方法 1、jsonp原理利用 可以跨域请求js文件 所以...

  • 正则 jsonp 本地存储 jqueryui

    jsonp ajax只能请求同一个域下的数据或资源,有时候需要跨域请求数据,就需要用到jsonp技术,jsonp可...

  • 正则 jsonp 本地存储 jqueryui

    jsonp ajax只能请求同一个域下的数据或资源,有时候需要跨域请求数据,就需要用到jsonp技术,jsonp可...

  • JSONP技术原理及实现

    转自《跨域jsonp的原理》 首先确定为什么要用jsonp,因为要跨域请求数据,那为什么会发生跨域呢,因为浏览器的...

  • 跨域上传图片并预览

    跨域上传文件 之前解决跨域问题都是使用的JQuery的JSONP类型的Ajax请求,JSONP原理是让服务器把数据...

  • ajax跨域请求

    ajax跨域请求(jsonp) 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案JSONP jQue...

  • Ajax请求跨域问题

    遇到ajax请求跨域问题,解决方式,改dataType为jsonp json和jsonp返回数据格式json格式 ...

网友评论

      本文标题:JS:Jsonp跨域请求数据

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