各种封装——封装jsonp

jsonp主要用于跨域进行数据的交互

// JavaScript Document
function json2url(json)
{
    json.t=Math.random();
    var arr=[];
    for(var name in json)
    {
        arr.push(name+‘=‘+json[name]);
    }
    return arr.join(‘&‘);
}
function jsonp(json)
{
    json=json||{};
    if(!(‘url‘) in json) return;
    var url=json.url;
    var cbName=json.cbName||‘cb‘;
    var data=json.data||{};
    
    var fnName=‘jsonp‘+Math.random();
    fnName=fnName.replace(‘.‘,‘‘);
    data[cbName]=fnName;
    
    var oS=document.createElement(‘script‘);
    oS.src=url+‘?‘+json2url(data);
    
    var oHead=document.getElementsByTagName(‘head‘)[0];
    oHead.appendChild(oS);
    
    window[fnName]=function(data){
        json.success&&json.success(data);
        oHead.removeChild(oS);
    };
    
}

时间: 2024-10-25 22:26:26

各种封装——封装jsonp的相关文章

自己封装的 Jsonp 函数

function jsonp(url,data,callback,succ,fn){ var oS = document.createElement('script'); var head = document.getElementsByTagName('head')[0]; /* 保证每一次请求数据的接收函数名不重复 */ var fnName = 'jquery_'+new Date().getTime()+Math.random(); //因为函数名不能有.所以把.替换成空 fnName

封装一个JSONP请求

首先,先介绍下jsonp的跨域原理: 1. 动态创建script标签2. 利用 script 的src属性,会自动发送请求3. 只需要将要请求的地址设置为 script标签的src属性的值4. 需要服务端的接口配合,必须返回 JSONP 格式的数据才行 注意: 1. 需要有个支持 JSONP 请求的接口地址2. 我们指定回调函数的名称3. 我们写一个 与回调函数名称 相同的函数4. 通过这个函数的参数就可以获取到服务器返回的数据了!!!5. 这个函数只能写在全局环境中!! 1 function

原生JavaScript封装的jsonp跨域请求

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>跨域的jsonp请求</title> </head> <body> <script> (function(window,document){ //该函数接受三个参数,请求的地址,请求的数据(对象格式),回调函数 // 回调

各种封装——封装getClass

因为用Class获取元素时,有兼容性问题,需要分情况获取 显示判断是否可以用getElementsByClassName,若是不介意用就要先获取全部的元素,在用正则判断 function getClass(oParent,sClass){    if(oParent.getElementsByClassName)    {        return oParent.getElementsByClassName(sClass);    }    else    {        var arr=

各种封装——封装ajax

使用: ajax({ url:'地址', data:{},//数据为json success:function(s){}, fail:function(){} }); function ajax(url, fnSucc, fnFaild){    //1.创建Ajax对象    if(window.XMLHttpRequest)    {        var oAjax=new XMLHttpRequest();    }    else    {        var oAjax=new A

Node+H5 实现简单的 JSONP 封装

前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JSONP</title> </head> <body> </body> <script type="text/javascript"> /* 封装一个 JSONP 的 交互类 *

封装 jsonp请求数据的方法

什么是jsonp :  Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需要一个特殊的技术( JSONP )呢?这是因为同源策略. 同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略. 了解一下jsonp的api :  封装jsonp的方法: //jsonp.js文件 import or

Java基础——封装

最近学习Java面向对象方面的知识点,一直没时间更新博客,因为这块的知识点真的蛮绕的.一个知识点一个知识点的往外冒,而且对于我这个初学者来说区分构造器和方法就花费了一整天的时间.现在准备再重新过一遍知识点. 先背下来一个理念: 面向对象程序设计是将数据放在第一位的,然后再考虑操作数据的方法. 之前,再学习Java的优越性的时候,我们知道了Java是一种面向对象设计的程序设计语言.那到底什么是面向对象程序设计呢?要弄懂它,首先我们简单了解一下另一种程序设计. 一.面向过程程序设计: 面向过程程序设

python3 uper(),继承实现原理,封装

抽象类:本身不能被实例化,也不应该不实例化,它的作用就定义标准,并不用具体实现 import abc class Parent(metaclass=abc.ABCMeta): x=1 @abc.abstractmethod def foo(self): pass @abc.abstractmethod def bar(self): pass class Child(Parent): def foo(self): pass def bar(self): pass 新式类与经典类在这种继承结构下,属