zoukankan      html  css  js  c++  java
  • JSONP

    JSONP主要是用来解决跨域问题,原理是动态插入script标签。ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务器不再返回JSON的脚本数据,而是返回一段调用某个函数的js代码,在src中进行调用,这样实现了跨域。JSONP的局限是:script.src 后台不配合得不到数据返回。

    JSONP函数代码如下:

     1 function mycallback(data) {
     2     console.log(data);
     3 }
     4 function jsonp(url , data , callback) {
     5     if(typeof data == 'string'){
     6         callback = data;
     7         data = {};
     8     }
     9     var hasParams = url.indexOf('?');
    10     url += (hasParams ? '&':'?') + 'callback='+callback;
    11     var params ="";
    12     for(var key in data){
    13         params += '&'+key+'='+data[key];
    14     }
    15     url+=params;
    16     var script = document.createElement('script');
    17     script.setAttribute('src',url);
    18     document.getElementsByTagName('body')[0].appendChild(script);
    19 }
    20 jsonp('http://baidu.com',{id:34},'myCallback');
  • 相关阅读:
    博客搬家申请CSDN至博客园
    关于java8新特性的一些总结
    mysql数据库插入时更改数据
    2017总结
    java中单链表的操作
    工厂设计模式及理解
    筛选法求素数
    tcp粘包,断包问题及处理
    理解B树,B+树
    jvm中锁的优化
  • 原文地址:https://www.cnblogs.com/daheiylx/p/9728959.html
Copyright © 2011-2022 走看看