• 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帮助文件示例
  • 相关阅读:
    点滴积累【JS】---JS小功能(onmousemove鼠标移动坐标接龙DIV)
    点滴积累【JS】---JS小功能(JS实现模仿微博发布效果)
    点滴积累【JS】---JS小功能(JS实现多功能缓冲运动框架)
    点滴积累【JS】---JS小功能(JS实现动态添加运动属性)
    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
    使用Mysql命令一次性备份多个数据库(所有数据库)
    一套设计模式教程
    HTTP认证方式
    利用CodeIgniter中的Email类发邮件
    【php】对PHPExcel一些简单的理解
  • 原文地址:https://www.cnblogs.com/liushannet/p/1974491.html
Copyright © 2020-2023  润新知