zoukankan      html  css  js  c++  java
  • Jquery的跨域传输数据(JSONP)

    后端:

    <?php
    $json_str = json_encode(array("ddd"=>"11111111"));
    echo $_GET['ja'].'('.$json_str.')';
    ?>

    前端:

    $.getJSON('http://www.liushan.cn/test.php?ja=?',function (json){
         alert(json);
    });

    纯JS实现(JSONP):

    //server return aa({'ddd':'ddd'}) callback function name: $_GET['callback'] 
    //author:lonely
        (function(w){
            
    function getjson(){}
            getjson.prototype.set
    =function(url,callback,callbackname){
                
    this.callfn=callbackname||'urlcallback';
                
    this.url=url+"?callback="+this.callfn;
                
    try{
                    eval(
    this.callfn+"=function(data){\n"+
                    
    "callback(data);\n"+
                    
    'delete '+this.callfn+';}');
                }
    catch(e){return;}
                
    this.request();
                
    delete this.url;
            }
            getjson.prototype.request
    =function(){
                
    var script=document.createElement("script");
                script.src
    =this.url;
                
    var load=false;
                script.onload 
    = script.onreadystatechange = function() {
                    
    if(this.readyState === "loaded" || this.readyState === "complete"){
                        load
    =true;
                        script.onload 
    = script.onreadystatechange=null;
                    }
                };
                
    var head=document.getElementsByTagName("head")[0];
                head.insertBefore(script,head.firstChild);
            }
            w.getjson
    =getjson;
        })(window)
    //使用DOME
        new getjson().set("http://www.test.cn/test.php",function(data){
            alert(data.ddd);
        });

    另一个:getScript

    jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js"function(){
      $(
    "#go").click(function(){
        $(
    ".block").animate( { backgroundColor: 'pink' }, 1000)
          .animate( { backgroundColor: 
    'blue' }, 1000);
      });
    });//CHM帮助文件示例
  • 相关阅读:
    Flutter: The getter 'futureDynamicType' was called on null.
    Android混合Flutter
    js bese64转化为blob使用FormData上传
    Flutter FractionallySizedBox 设置维度比例 而不是固定的px
    Flutter 区分开发环境和生产环境
    windows 隐藏desktop.ini文件
    Js中的reduce,fold和unfold
    精读Hooks 取数-swr源码
    WebSocket 原理浅析与实现简单聊天
    TypeScript 2.0 标记联合类型
  • 原文地址:https://www.cnblogs.com/liushannet/p/1974491.html
Copyright © 2011-2022 走看看